
Я хотел бы запустить сервер после запуска mongodb. Правильно ли использовать start on started mongodb
?
Пример сценария upstart:
start on started mongodb
stop on starting rc RUNLEVEL=[016]
respawn
exec start-stop-daemon --start --make-pidfile --pidfile /var/run/myserver.pid --exec myserver >> /var/log/myserver.log 2>&1
решение1
Отказ от ответственности: Я практически ничего не знаю о mongo. Тем не менее, ответ на ваш вопрос будет: "Да, если есть upstart-сервис 'mongodb'".
Есть несколько способов это проверить:
sudo initctl list | grep mongo
Если эта команда что-либо возвращает, проверьте, что указанная в ней служба соответствует имени, которое вы используете («mongodb»).
В противном случае проверьте содержимое /etc/init
(обратите внимание, не /etc/init.d
) и посмотрите, есть ли файл .conf, связанный с mongo. Это будет имя используемой службы, то есть измените начало строфы на start on started [service name]
.
Если нет службы upstart, связанной с mongo, то mongo все еще использует скрипты init.d. Если это так, вам нужно найти или создать скрипт mongo upstart, установить его и отключить скрипты init.d (я использовал bum
для этого).
Поиск в Google дает несколько вариантов:
Скрипт Ubuntu upstart для MongoDB с автоматическим восстановлением
Этот выглядит более полным: