Wie starte crond automatisch neu, wenn es nicht läuft?

382
peter

Ich verwende cron job, um andere Dienste zu überwachen und neu zu starten, wenn sie nicht ausgeführt werden. Aber wie kann man crond selbst überwachen / neu starten?

0

2 Antworten auf die Frage

2
thrig

Sie benötigen entweder ein Init-System (runit, systemdusw.), das den Prozess im Auge behalten kann und den Dämon (bei entsprechender Konfiguration) nach einem Fehler neu startet, oder einen anderen Dämon ausführen, der überprüft, ob der Cron-Prozess läuft und ob er nicht neu startet it ( monitbeliebige Konfigurationsverwaltung, die einen lokalen Agenten wie CFEngine usw. ausführt).

0
MTG

Es ist gut, die Beobachter mit einem Watchdog-Skript der Endlosschleife zu beobachten und dies in /etc/rc.local oder eine ähnliche Startdatei zu speichern.

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

Dieses einfache Beispiel funktioniert natürlich nur, wenn Serviceprozess und Service-Startskript denselben Namen haben. aber Sie können es reparieren, um Ihre Anforderungen zu entsprechen