Hi leute habe da mal eine frage benutze oscam-watchdog auf einen igel mit debian läuft auch super aber ich habe 2 instanzen einmal für cache und einmal normal user reader.
also würd nur ein oscam überwacht bei mir also user reader (ordner bin= oscam)
beim cache heist sie (ordener bin= oscam2)
_maxlogsize="1024"
TIMESTAMP2=`date +"%Y-%m-%d %H:%M"`
SUBJECT="OScam Watchdog"
MESSAGE="OScam wurde auf `hostname -f` vom Watchdog Überwachungsscript neu gestartet!"
# check size of OSCAMwatchlog and rotate
if [ -f "$OSCAMwatchlog" ]&&[ "$(stat --printf="%s" $OSCAMwatchlog)" -gt "$_maxlogsize" ]; then
echo "resetting log $OSCAMwatchlog"
mv -f $OSCAMwatchlog ${OSCAMwatchlog}.1 >/dev/null 2>&1
touch $OSCAMwatchlog
fi
#MAIN
CHECK=$(ps aux|grep -v grep|grep -v $0|grep -w $OSCAMbin)
if [[ ! -z "$CHECK" ]] ; then
echo -e "$TIMESTAMP2\tWatchdog - OSCam Server laeuft"
else
echo -e "$TIMESTAMP2\tWatchdog - OSCam wurde neu gestartet" >>$OSCAMwatchlog
$OScamScript start
if [ $CRASHMAIL == 1 ]; then
sendEmail -f $SMTPFROM -t $SMTPTO -u $SUBJECT -m $MESSAGE -s $SMTPSERVER -xu "$SMTPUSER" -xp "$SMTPPASS"
fi
fi
Man kann/könnte die zweite Instanz von OScam auf dem Server,
nur über Watchdog checken bzw. starten per cron,
man brauch diese nicht im Autostart zu machen (rc.local).
Das Script zum Watchdog könnte so aussehen:
Code:
#!/bin/sh
OSCAMPATH="/oscam/bin"
OSCAMNAME="oscam-2"
LOGFILE="OScam_restart_log.txt"
if [ $(ps aux | grep -v grep | grep -c "/oscam/bin/oscam-2") = 0 ];
then
echo $(date "+%d.%m.%y|%H:%M:%S|OScam (2) wurde neu gestartet") >> /oscam/log/$LOGFILE
$OSCAMPATH/$OSCAMNAME -b -c /oscam -t /tmp/.oscam-2 restart
#/oscam/bin/oscam-2 -b -c /oscam -t /tmp/.oscam-2 restart
else
echo "all fine :)"
fi
exit 0
Ordner in root so anlegen:
Du musst angemeldet sein, um Bilder zu sehen.
crontab ...
Code:
#OScam (2)
*/1 * * * * root /oscam/script/oscam-2-watchdog.sh #OScam (2) - Teste ob OScam (2) laeuft (jede Minute)
... wo das Script liegen muss ist wohl zu erkennen DD