Запускайте rc.local только после запуска Mongodb в CentOs 7

У меня есть следующий скрипт в моем rc.local:

Это запускает сервисы на портах 8080, 8081, 8082, 8083. Они на самом деле являются серверами узлов, которые НЕОБХОДИМЫ для запуска.

Итак, я отредактировал /lib/systemd/system/rc-local.service и добавил:

After=network.target syslog.target mongod.service

Но нет: сценарии по-прежнему не работают, потому что во время выполнения они обнаруживают, что сервер базы данных не работает.

Что я могу делать не так? Как бы я отладить это?

ОБНОВЛЕНИЕ: Теперь, когда я добавил After=ошибка не в соединении mongoDb (я смотрел старые журналы), а в том, что rc-local, похоже, не запускается вообще. Работает вручную systemctl restart rc-local.service работает хоть...

ОБНОВЛЕНИЕ 2: принимая syslog.target и так, имея:

After=network.target mongod.service

имеет странный побочный эффект: нормально работает HALF серверов (2 из 4), а другие HALF не могут подключиться к базе данных. Это заставляет меня думать, что systemd запускает mongodb, но он еще не готов принимать соединения, когда запущен rc-local

1 ответ

В качестве обходного пути, почему бы вам не настроить mongodb не запускать systemctl и не запускать его в rclocal до нужных вам элементов?

Другие вопросы по тегам