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