Watchdog
Hier befinden sich div. Scripte für ein Watchdog.
Diese Scripte werden dann üblicherweise vom Cron-Daemon gestartet.
Eine andere Alternative zu Scripten ist supervisord.
Die Crontab wird mit crontab -e
zum editieren geöffnet. Hier eine Beispielzeile für ein Kommando welches jede Minute ausgeführt werden soll.
*/1 * * * * <KOMMANDO>
Hier eine Beschreibung aus der Ubuntu-Wiki:
* * * * * Befehl der ausgeführt werden soll - - - - - | | | | | | | | | +----- Wochentag (0 - 7) (Sonntag ist 0 und 7; oder Namen, siehe unten) | | | +------- Monat (1 - 12) | | +--------- Tag (1 - 31) | +----------- Stunde (0 - 23) +------------- Minute (0 - 59; oder Namen, siehe unten)
Prozess
Watchdog für einen Prozess der überwacht werden soll mit Ausgabe in eine Log-Datei.
#!/bin/bash DATE=`which date` CMD_PATH="<PFAD_ZU_AUSZUFÜHRENDEM_KOMMANDO>" export CMD=`ls --file-type ${CMD_PATH}|grep -i <KOMMANDO> #Hier reichen die ersten Anfangsbuchstaben des Kommandos LOG="<PFAD_ZU_LOG_DATEI>/<KOMMANDO>-watchdog.log" # Testen ob Prozess läuft if ps -ef|grep -v grep|grep -i ${CMD} then # Nichts tun echo `${DATE}` >> ${LOG} echo "<PROZESSNAME> already Running!" >> ${LOG} echo "--------" >> ${LOG} else echo `${DATE}` >> ${LOG} echo "<PROZESSNAME> wird gestartet" >> ${LOG} echo "--------" >> ${LOG} # Startup Prozess ${CMD_PATH}/${CMD} fi exit