#!/bin/bash
# IPC - CCcam-Watchdog
#
. /var/emu/script/functions.sh
readipccfg
readcccamcfg
[ -z $CCNAME ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler!\033[0m" && exit 1
[ -z $CCVERSION ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler!\033[0m" && exit 1
[ -z "$TIMESTAMP2" ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler!\033[0m" && exit 1
[ -z $CAMLOGS ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler!\033[0m" && exit 1
[ -z $CRASHMAIL ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler!\033[0m" && exit 1
[ -z $CCURL ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler!\033[0m" && exit 1
[ -z $CCPORT ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler!\033[0m" && exit 1
SUBJECT="$CCNAME Watchdog !"
MESSAGE1="$CCNAME wurde auf `hostname -f` vom Watchdog Überwachungsscript neu gestartet."
MESSAGE2="$CCNAME ist auf `hostname -f` mehrfach gestartet, Konfiguration scheint fehlerhaft zu sein!"
MESSAGE3="$CCNAME iwurde auf `hostname -f` vom Watchdog Überwachungsscript neu gestartet, nachdem das Webinterface nicht mehr reagiert hat."
#CCcam gestart ?
PID="$(pgrep -x $CCVERSION)"
bash /var/emu/script/.check.sh
if [[ ! -z $PID ]] ; then
echo "$TIMESTAMP2 Watchdog - CCcam Server laeuft"
else
cccam start
echo "$TIMESTAMP2 Watchdog - CCcam wurde neu gestartet"
echo "$TIMESTAMP2 Watchdog - CCcam wurde neu gestartet" >> $CAMLOGS/CCcam-watchdog.log
#readipccfg
[ $CRASHMAIL == 1 ] && mailsend "$SUBJECT" "$MESSAGE1"
fi
if wget http://$CCUSER:$CCPASS@$CCURL:$CCPORT -T 10 -t 5 -q
then
rm index.html #cccam restart
echo "$TIMESTAMP2 Watchdog - Das Webinterface von CCCam funktioniert"
else
#sleep 5
cccam stop
sleep 1
cccam start
echo "$TIMESTAMP2 Watchdog - Das Webinterface von CCCam reagiert nicht mehr. CCcam wird gestoppt und neu gestartet"
echo "$TIMESTAMP2 Watchdog - Das Webinterface von CCCam reagiert nicht mehr. CCcam wird gestoppt und neu gestartet" >> $CAMLOGS/CCcam-watchdog.log
[ $CRASHMAIL == 1 ] && mailsend "$SUBJECT" "$MESSAGE3"
fi
#CCcam mehrfach gestartet ?
ANZAHL="$(pgrep -c $CCVERSION)"
if [ $ANZAHL -gt 1 ] ; then
[ $CRASHMAIL == 1 ] && mailsend "$SUBJECT" "$MESSAGE2"
fi
sleep 2
#Eventuell CRON starten
PID="$(pgrep -x cron)"
if [[ ! -z $PID ]] ; then
dummy="1"
echo "$TIMESTAMP2 Watchdog - Cron laeuft"
else
echo "$TIMESTAMP2 Watchdog - Cron lief nicht und musste gestartet werden"
echo "$TIMESTAMP2 Watchdog - CCron lief nicht und musste gestartet werden" >> $CAMLOGS/CCcam-watchdog.log
/etc/init.d/cron start > /dev/null
fi
exit 0