Запустить скрипт при запуске после всего остального

Хорошо, так что есть служба (nagios), работающая в окне Debian, которая работает отлично, за исключением одной очень конкретной проблемы, которая возникает только после перезапуска окна. Проблема легко устраняется путем повторного запуска службы вручную. Сама проблема настолько специфична и настолько запутанна, что у меня нет времени ее запускать (одна проверка из 500+ возвращается с ошибкой, но только тогда, когда она управляется nagios).

Следующее лучшее, что было бы, – это заставить его перезапустить службу при запуске, поэтому никто не должен делать это вручную каждый раз. До сих пор я пытался это сделать следующим образом:

Добавляя «/etc/init.d/nagios restart» в /etc/rc.local, это выполняется от просмотра журналов, но не устраняет проблему (все равно нужно делать вручную)

Перемещение времени для начала nagios до самого конца (update-rc.d nagios defaults 99 10)

Вернувшись к исправлению rc.local, на этот раз добавив строку «sleep 20», это ничего не делает, кроме задержки на запуск коробки на 20 секунд.

Что еще я могу попробовать / посмотреть?

  • Проблемы с запуском сеанса / процесса Fedora
  • Команды в сценарии инициализации отказываются запускать или фактически что-либо делать
  • Как приостановить (или захватить) сообщения, которые пролетают в конце последовательности запуска?
  • Скрипт запуска через Linux через минуту после загрузки
  • Запустите правило udev для флэш-накопителя USB, когда компьютер запущен с вставленным устройством
  • удаление элемента запуска из com.apple.launchd
  • Невозможно запустить сценарий tmux при загрузке
  • Шаблоны для сценария запуска?
  • 2 Solutions collect form web for “Запустить скрипт при запуске после всего остального”

    Проверьте, есть ли сценарий инициализации, который вы хотите отложить, блок комментариев вроде этого:

     ### BEGIN INIT INFO # Provides: scriptname # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFO 

    Этот блок, как указано в вики Debian's LSBInitScripts, сообщает подсистеме init, что некоторые другие объекты должны быть обязательными для запуска до запуска скрипта nagios.

    Затем все, что вам нужно сделать, это указать, почему ваш скрипт nagios init необходимо перезапустить, из-за того, что сеть еще не установлена? Это потому, что веб-сервер все еще запускается? Или nfs еще не синхронизированы?

    Это зависит от вас, чтобы узнать, почему вам нужно каждый раз перезапускать nagios, но этот подход является лучшим изящным решением вашего дела.

    Если перезапуск должен выполняться вручную, ваш чек может зависеть от некоторых переменных, которые устанавливаются при входе в систему.

    Проверьте, не запускается ли service nagios restart вручную, также устраните проблему или /etc/init.d/nagios restart ее /etc/init.d/nagios restart .

     # Required-Start: $all 

    будет способ гарантировать, что все другие службы будут запущены до запуска вашего скрипта. Но я думаю, что rc.local работает после того, как все службы запускаются в любом случае, так что это не поможет.

    Interesting Posts
    Linux и Unix - лучшая ОС в мире.