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)
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