Як автоматично перезапустити crond, якщо він не працює?


0

Я використовую cron завдання для моніторингу та перезавантаження інших служб, якщо вони не працюють. Але як відстежувати / перезапускати саму клінку?

Відповіді:


2

Вам або буде потрібна система init ( runit, systemdі т. Д.), Яка може вести вкладки процесу і (з відповідною конфігурацією) перезапустити демон після відмови, або запустити якийсь інший демон, який перевіряє, чи працює процес крона, а чи ні перезапускається це ( monitбудь-яке управління конфігурацією, яке виконує локальний агент, такий як CFEngine тощо).


0

Добре дивитись спостерігачам за сторожовим сценарієм нескінченного циклу, і помістити його у /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

Звичайно, цей простий приклад працює лише в тому випадку, якщо сервісний процес і сценарій запуску служби мають одне ім’я. але ви можете виправити це відповідно до ваших потреб

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.