Как автоматически перезапустить crond, если он не запущен?

310
peter

Я использую cron job для мониторинга и перезапуска других сервисов, если они не работают. Но как контролировать / перезапускать сам crond?

0

2 ответа на вопрос

2
thrig

Вам понадобится либо система инициализации ( runit, systemdи т. Д.), Которая может следить за процессом и (при соответствующей конфигурации) перезапустить демон после сбоя, либо запустить какой-либо другой демон, который проверяет, запущен ли процесс cron и, если нет, перезапускается. это ( monitлюбое управление конфигурацией, которое запускает локальный агент, такой как CFEngine и т. д.).

0
MTG

Хорошо наблюдать за наблюдателями с помощью сторожевого сценария с бесконечным циклом и помещать его в /etc/rc.local или аналогичный файл запуска.

#!/bin/bash for service in crond httpd whatever do if [ `pgrep $service` = '' ] then service $service restart # OR # systemctl restart service fi sleep 3 done 

Конечно, этот простой пример работает только в том случае, если процесс и сценарий запуска службы имеют одинаковое имя. но вы можете исправить это, чтобы соответствовать вашим требованиям

Похожие вопросы