Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

CCcam Watchdog - so richtig ?

dogfight76

Super Elite User
Registriert
5. Juli 2009
Beiträge
2.569
Reaktionspunkte
242
Punkte
223
#!/bin/sh
# Variablen deklarieren
vCCcam="CCcam2_3_0" # CCcam Version - Script
bCCcam="CCcam2_3_0" # CCcam Version - binary
pCCcam=mein-port # CCcam-WebIf Port
cUser="mein-user" # Username Webinfo
cPass="mein-passwort" # Passwort Webinfo

time=$(date +%A", "%d-%m-%Y" @ "%H:%M:%I)
#echo $time" Script started ..." > /tmp/CCcam_restarts.log

#pruefen ob cccam bin laeuft
if [ "$(ps aux |grep -v grep |grep -c $bCCcam)" == "0" ]
then
BIN=FALSE
echo $time" $vCCcam not running ..." >> /tmp/CCcam_restarts.log
else
BIN=TRUE
echo $time" $vCCcam running ..." >> /tmp/CCcam_restarts.log
fi

#pruefen ob WEB-IF erreichbar
#if wget -q -t2 -O- http://$cUser:$cPass@127.0.0.1:$pCCcam > /dev/null
if wget -q -t2 -O- --user $cUser --password $cPass http://127.0.0.1:$pCCcam > /dev/null
then
WEBIF=TRUE
echo $time" $vCCcam webif running ..." >> /tmp/CCcam_restarts.log
else
WEBIF=FALSE
echo $time" $vCCcam webif not running ..." >> /tmp/CCcam_restarts.log
fi

#wenn WEBIF=FALSE O D E R BIN=FALSE cam neu starten
if [ $BIN == FALSE ]
then
/usr/script/"$vCCcam"_cam.sh start
echo $time" $vCCcam restarted ..." >> /tmp/CCcam_restarts.log
elif [ $WEBIF == FALSE ]
then
/usr/script/"$vCCcam"_cam.sh stop
/usr/script/"$vCCcam"_cam.sh start
echo $time" $vCCcam stopped - restarted ..." >> /tmp/CCcam_restarts.log
else
WEBIF=FALSE
echo $time" $vCCcam is already running ..." >> /tmp/CCcam_restarts.log
fi
exit 0

In meiner Duo2 heisst unter "usr/bin" die CCcam genauso "CCcam2_3_0"
WebIf "User" ,"Passwort" und "Port" wurden verfälscht, aber kontrolliert (ist erreichbar)

Das Script heißt so:
"CCcam2_3_0_cam.sh"


im Cronjob ist der Interval so gesetzt:
Auszuführender Befehl: /usr/script/CCcam2_3_0_cam.sh
Minute: */15

So sollte alle 15min das Script ausgeführt werden oder ?
Findet ihr einen Fehler ?

Gruß
 
AW: CCcam Watchdog - so richtig ?

Was machst du wenn das Ding innerhalb von 15 Min abstürzt?
Ein WD sollte immer in Echtzeit arbeiten und eingreifen können.
 
AW: CCcam Watchdog - so richtig ?

15min ist doch zu verkraften, jede Minute belastet die Duo2 doch bestimmt zu sehr oder ?

Wie würdest du es einstellen?
 
AW: CCcam Watchdog - so richtig ?

Meine Scripte Arbeiten in Echtzeit ohne Cronjob.

Wenn der eingreift sieht das so aus (also braucht ~1 Sekunde bis die OSCam wieder startet):

Tue Dec 30 10:29:35 CET 2014 OSCam wurde unerwartet beendet.
Tue Dec 30 10:30:35 CET 2014 OSCam wurde unerwartet beendet.
Wed Jan 7 12:21:02 CET 2015 OSCam wurde unerwartet beendet.
 
AW: CCcam Watchdog - so richtig ?

Wie baue ich denn mein Script in Echtzeit ein (ohne Cronjob) ?

Gruß
 
AW: CCcam Watchdog - so richtig ?

Hallo ?

Bitte um weitere Info, danke.

Gruß
 
AW: CCcam Watchdog - so richtig ?

Eine "While True" Schleife wäre beispielsweise eine Lösung. Mit "sleep X" wird das Script bei jedem Schleifendurchlauf X Sekunden warten.
 
Zuletzt bearbeitet:
AW: CCcam Watchdog - so richtig ?

Sorry, davon hab ich leider null verstanden!
Meine "while true"-Schleife ??

Gruß
 
AW: CCcam Watchdog - so richtig ?

Ok......ich muss es zugeben:
Dafür bin ich zu doof :(

Ich erkenne nur das dein Post ein "Gerüst" ist , aber wie genau muss sowas aussehen für mein Cccam ?

Gruß
 
AW: CCcam Watchdog - so richtig ?

Ich bin jetzt gerade mit dem Handy online und der Spoiler öffnet sich nicht. Aber prinzipiell musst du nur das while und das done um deinen bereits vorhandenen Code packen. Das Gerüst kommst also draußen um deinen vorhandenen Code herum. Damit wird der Code innerhalb immer und immer wieder ausgeführt. Es reicht dann also das Script einmal auszuführen anstatt alle 15 Minuten.

EE
 
AW: CCcam Watchdog - so richtig ?

Ah ok, und dann läuft das Script permanent sobald meine Duo2 angeschaltet wird. Wie hoch ist die Rechenbelastung dadurch ?
 
AW: CCcam Watchdog - so richtig ?

Also im Autostart ist das damit nicht, da kann dir sicher jemand helfen. Da bin ich bei der VU nicht firm genug. Das musst du dann irgendwie im rc.local unterbringen bzw. in entsprechenden runlevel verlinken.

Die CPU Last kommt auf den Teil an, der in der Schleife läuft. Die Schleife selbst, vorallem mit einem 5 Sekunden sleep, sollte keinen Prozessor Jucken. Einfach mal laufen lassen und schauen :-)

LG EE
 
AW: CCcam Watchdog - so richtig ?

Also müsste das script schonmal so aussehen ??
while [ 1 ]
do
#!/bin/sh
# Variablen deklarieren
vCCcam="CCcam2_3_0" # CCcam Version - Script
bCCcam="CCcam2_3_0" # CCcam Version - binary
pCCcam=mein-port # CCcam-WebIf Port
cUser="mein-user" # Username Webinfo
cPass="mein-passwort" # Passwort Webinfo

time=$(date +%A", "%d-%m-%Y" @ "%H:%M:%I)
#echo $time" Script started ..." > /tmp/CCcam_restarts.log

#pruefen ob cccam bin laeuft
if [ "$(ps aux |grep -v grep |grep -c $bCCcam)" == "0" ]
then
BIN=FALSE
echo $time" $vCCcam not running ..." >> /tmp/CCcam_restarts.log
else
BIN=TRUE
echo $time" $vCCcam running ..." >> /tmp/CCcam_restarts.log
fi

#pruefen ob WEB-IF erreichbar
#if wget -q -t2 -O- http://$cUser:$cPass@127.0.0.1:$pCCcam > /dev/null
if wget -q -t2 -O- --user $cUser --password $cPass http://127.0.0.1:$pCCcam > /dev/null
then
WEBIF=TRUE
echo $time" $vCCcam webif running ..." >> /tmp/CCcam_restarts.log
else
WEBIF=FALSE
echo $time" $vCCcam webif not running ..." >> /tmp/CCcam_restarts.log
fi

#wenn WEBIF=FALSE O D E R BIN=FALSE cam neu starten
if [ $BIN = "FALSE" ]
then
/usr/script/"$vCCcam"_cam.sh start
echo $time" $vCCcam restarted ..." >> /tmp/CCcam_restarts.log
elif [ $WEBIF = "FALSE" ]
then
/usr/script/"$vCCcam"_cam.sh stop
/usr/script/"$vCCcam"_cam.sh start
echo $time" $vCCcam stopped - restarted ..." >> /tmp/CCcam_restarts.log
else
WEBIF=FALSE
echo $time" $vCCcam is already running ..." >> /tmp/CCcam_restarts.log
fi
exit 0
sleep 5
done
 
Zurück
Oben