Получить статус mongodb

Имея сценарий, где я запускаю / останавливаю различные службы в зависимости от того, что мне нужно. Например, Apache, BIND, MySQL, PostFix, Memcached, Tomcat и т. Д.

В зависимости от параметров состояния сценария и т. Д. Принимаются различные действия.

Для большинства это прекрасно работает: (например, с Apache)

if service apache2 status >/dev/null; then # ... do some action fi 

Для других нужно использовать другие трюки, такие как mysqladmin ping .

Однако я не могу найти хороший способ проверить статус mongodb .

 service mongodb status 

Он имеет ту же «болезнь», что и MySQL, и mongodb stop/waiting а также оценивает значение true, даже если служба не запущена и работает.

Посмотрели на mongod , mongostat и т. Д., Но не нашли для этого никакого выбора.

Одним из способов может быть использование ps или, возможно, лучший netstat и объединение либо с grep либо как-то, но интересно, есть ли лучший (более собственный / целевой) способ проверить статус. Также может быть grep для stop/waiting , но не уверен, насколько это достоверно, и угадать, что он, вероятно, может переломиться в будущем обновлении.

2 Solutions collect form web for “Получить статус mongodb”

Как насчет использования pgrep для поиска процесса, mongod .

 $ pgrep mongod 

Я не пробовал mongodb. Но из этого ответа здесь я вижу варианты ps , как вы упомянули в своем quesiton. Кроме того, вы упомянули только service mongodb status . Однако вы также можете попробовать /etc/init.d/mongod status .

проверьте:

  ps -edaf | grep mongo # "ps" flags may differ on your OS 

или

  /etc/init.d/mongod status 

или

  service mongodb status 

посмотреть, работает ли мангод

проверьте файл журнала /var/log/mongo/mongo.log чтобы узнать, есть ли какие-либо проблемы

  • mv жалуется на стандартный ввод в конвейере, который фильтрует имя файла с помощью grep
  • Правильное поведение ловушек EXIT и ERR при использовании `set -eu`
  • Почему «до» блок спроектирован, так как это всего лишь отрицательная версия `while`?
  • exec перенаправляет в bash
  • Могу ли я заставить Ctrl-C в дочернем процессе выполнять некоторые действия в родительском процессе?
  • Если UID = 1000 продолжается, иначе выйдите
  • Проверьте, равна ли переменная открытой круглой скобке
  • синтаксическая ошибка возле неожиданного токена `<'
  • Как извлечь строки, начинающиеся с шаблона и фрагментов между двумя шаблонами?
  • в чем смысл 1 в конце awk-скрипта
  • Как (Ограниченная память)> grep -F -f file_A file_B >> output.txt
  • Как добавить к переменной строку в скрипте?
  • Linux и Unix - лучшая ОС в мире.