Problem mit CCcam watchdog script
Problem mit CCcam watchdog script
Bei der Ausführung von
root@CCcam ~ > /var/emu/script/cccam-watchdog.sh
bekomme ich als Fehler:
Variablen Konfigurationsfehler !
also müsste ja in der functions.sh was nicht passen... dachte ich mir. Habe den Fehler aber nicht gefunden.
CCNAME="CCcam"
CCVERSION="CCcam.x86"
CCURL="localhost"
CCWWW="/var/www/ipc"
CCCFG="$CAMCONFIGS/CCcam.cfg"
CCCFGNEW="$CAMCONFIGS/CCcam.cfg.new"
CCCFGBAK="$CAMCONFIGS/CCcam.cfg.old"
CCCHANGELOG="$CAMLOGS/CCcam-changes.log"
sollte alles unverändert sein.
Wie kann ich den Fehler weiter eingrenzen?
root@CCcam ~ > /var/emu/script/cccam-watchdog.sh
bekomme ich als Fehler:
Variablen Konfigurationsfehler !
also müsste ja in der functions.sh was nicht passen... dachte ich mir. Habe den Fehler aber nicht gefunden.
CCNAME="CCcam"
CCVERSION="CCcam.x86"
CCURL="localhost"
CCWWW="/var/www/ipc"
CCCFG="$CAMCONFIGS/CCcam.cfg"
CCCFGNEW="$CAMCONFIGS/CCcam.cfg.new"
CCCFGBAK="$CAMCONFIGS/CCcam.cfg.old"
CCCHANGELOG="$CAMLOGS/CCcam-changes.log"
sollte alles unverändert sein.
Wie kann ich den Fehler weiter eingrenzen?
-
- Entwickler Team
- Beiträge: 2576
- Registriert: So 17. Apr 2011, 11:39
- Been thanked: 1 time
- Kontaktdaten:
Re: Problem mit CCcam watchdog script
guck zb in dem Script nach was du ausführst...
Du musst nicht kämpfen um zu siegen
Re: Problem mit CCcam watchdog script
Problem ist wohl, dass in cccam-watchdog.sh eine Zeile ist mit
[ -z $CRASHMAIL ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler !\033[0m" && exit 1
und in functions.sh ist das nicht definiert und von daher kommt dann wohl der Variablen Konfigurationsfehler...
Das führt dann dazu, dass CCcam nicht neugestartet wird...
functions.sh
cccam-watchdog.sh
[ -z $CRASHMAIL ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler !\033[0m" && exit 1
und in functions.sh ist das nicht definiert und von daher kommt dann wohl der Variablen Konfigurationsfehler...
Das führt dann dazu, dass CCcam nicht neugestartet wird...
functions.sh
Code: Alles auswählen
IPCCONFIG="/var/emu/conf/ipc.cfg"
CAMCONFIGS=/var/etc
CAMBINS=/var/emu
CAMLOGS=/var/log/ipc
CAMJOBS=/etc/crontab
CCNAME="CCcam"
CCVERSION="CCcam.x86"
CCURL="localhost"
CCWWW="/var/www/ipc"
CCCFG="$CAMCONFIGS/CCcam.cfg"
CCCFGNEW="$CAMCONFIGS/CCcam.cfg.new"
CCCFGBAK="$CAMCONFIGS/CCcam.cfg.old"
CCCHANGELOG="$CAMLOGS/CCcam-changes.log"
OSNAME="OScam"
OSVERSION="oscam.x86"
OSBIN=$CAMBINS/oscam/$OSVERSION
OSCFG="$CAMCONFIGS/oscam.conf"
OSSERVER="$CAMCONFIGS/oscam.server"
OSUSER="$CAMCONFIGS/oscam.user"
OSERVICES="$CAMCONFIGS/oscam.services"
OSRVID="$CAMCONFIGS/oscam.srvid"
NCSNAME="NewCS"
NCSVERSION="newcs.i686"
NCSBIN=$CAMBINS/newcs/$NCSVERSION
NCSXML="$CAMCONFIGS/newcs.xml"
NCSLOG="$CAMLOGS/newcs.log"
BACKUPDIR="/var/backups/ipc"
TMPDIR="/var/emu/tmp/script"
TMPFILE1="$TMPDIR/CCcam1.tmp"
TMPFILE2="$TMPDIR/CCcam2.tmp"
TIMESTAMP=`date +"%Y%m%d_%H%M%S"`
TIMESTAMP2=`date +"%Y-%m-%d %H:%M"`
INFOPHP_CONFIG=/var/www/ipc/infophp/config.php
INFOPHP_WORKPATH='/var/emu/tmp/infophp/'
INFOPHP_UPDATEFROMBUTTON='true'
INFOPHP_FULLRESHARE='true'
INFOPHP_COUNTRYWHOIS='true'
IPURL="http://ipc.pebkac.at/ipc"
FMURL="http://ipc.pebkac.at/forum"
SHSETUP=ipcsetup.sh
#++++++++++++++++++++++++++++++ VARIABLES ++++++++++++++++++++++++++++++
#++++++++++++++++++++++++++++++ FUNCTIONS ++++++++++++++++++++++++++++++
# .webaccess neu schreiben
NewWebAccess() {
htpasswd -bc /var/emu/conf/.webaccess $1 $2
}
# Tempdir erstellen, Rechte setzen, leeren
tempdir() {
#echo "Function: tempdir"
[ ! -d $TMPDIR ] && mkdir -p $TMPDIR && chmod 777 -R $TMPDIR > /dev/null 2>&1
cd $TMPDIR
rm -f $TMPDIR/* > /dev/null 2>&1
cd $TMPDIR
}
# Rechte setzen
setrights() {
OWNER="www-data:www-data"
chown -R $OWNER /var/etc /var/keys > /dev/null 2>&1
#CCcam.cfg - Rechte und Besitzer
chmod 755 /var/etc > /dev/null 2>&1
chmod 755 $CCCFG > /dev/null 2>&1
chown $OWNER $CCCFG > /dev/null 2>&1
#CCcam key files
chmod 755 /var/keys/CCcam.* >/dev/null 2>&1
chown $OWNER /var/keys/CCcam.* >/dev/null 2>&1
#OScam config files
chmod 755 $OSCFG >/dev/null 2>&1
chmod 755 $OSSERVER >/dev/null 2>&1
chmod 755 $OSUSER >/dev/null 2>&1
chmod 755 $OSERVICES >/dev/null 2>&1
chmod 755 $OSRVID >/dev/null 2>&1
chown $OWNER $OSCFG >/dev/null 2>&1
chown $OWNER $OSSERVER >/dev/null 2>&1
chown $OWNER $OSUSER >/dev/null 2>&1
chown $OWNER $OSERVICES >/dev/null 2>&1
chown $OWNER $OSRVID >/dev/null 2>&1
#NewCS config file
chmod 755 $NCSXML >/dev/null 2>&1
chown $OWNER $NCSXML >/dev/null 2>&1
#EMU
chmod 755 -R /var/emu > /dev/null 2>&1
chmod 777 -R /var/emu/tmp > /dev/null 2>&1
chown $OWNER -R /var/emu/tmp > /dev/null 2>&1
#Changelog - Erstellen, Rechte, Besitzer
[ ! -f $CCCHANGELOG ] && echo "" > $CCCHANGELOG > /dev/null 2>&1
chmod 755 $CCCHANGELOG > /dev/null 2>&1
chown $OWNER $CCCHANGELOG > /dev/null 2>&1
#InfoPHP Tempdir und Rechte
[ ! -d $INFOPHP_WORKPATH ] && mkdir -p $INFOPHP_WORKPATH > /dev/null 2>&1
chmod 777 -R $INFOPHP_WORKPATH > /dev/null 2>&1
chown $OWNER -R $INFOPHP_WORKPATH > /dev/null 2>&1
chown $OWNER $INFOPHP_CONFIG > /dev/null 2>&1
}
# Paket Konfiguration auslesen
readipccfg() {
#echo "Function: readipccfg"
source $IPCCONFIG
}
# CCcam.cfg Konfiguration auslesen
readcccamcfg() {
#echo "Function: readcccamcfg"
CCUSER=$(grep -i "WEBINFO USERNAME" $CCCFG | cut -d ":" -f2 | sed -e 's/ //g' | sed -e 's/\r//g')
CCPASS=$(grep -i "WEBINFO PASSWORD" $CCCFG | cut -d ":" -f2 | sed -e 's/ //g' | sed -e 's/\r//g')
CCPORT=$(grep -i "WEBINFO LISTEN PORT" $CCCFG | cut -d ":" -f2 | sed -e 's/ //g' | sed -e 's/\r//g')
CCCHAN=$(grep -i "CHANNELINFO FILE" $CCCFG | cut -d ":" -f2 | sed -e 's/ //g' | sed -e 's/\r//g')
CCPROV=$(grep -i "PROVIDERINFO FILE" $CCCFG | cut -d ":" -f2 | sed -e 's/ //g' | sed -e 's/\r//g')
CCSPORT=$(grep -i "SERVER LISTEN PORT" $CCCFG | cut -d ":" -f2 | sed -e 's/ //g' | sed -e 's/\r//g')
[ "$CCSPORT" = "" ] && CCSPORT="12000"
[ "$CCPORT" = "" ] && CCPORT="16001"
#echo "CCUSER: $CCUSER"
#echo "CCPASS: $CCPASS"
#echo "CCPORT: $CCPORT"
}
# Teste ob CCcam laeuft
cccamrun() {
#echo "Function: cccamrun"
PID="$(pgrep -x $CCVERSION)"
if [[ ! -z $PID ]] ; then
dummy="1"
#echo "CCcam laeuft"
else
echo "CCcam ist nicht gestartet"
exit 1
fi
}
# Weblogin testen
weblogon() {
#echo "Function: weblogon"
WUP=""
[ "$CCUSER" != "" ] && WUP="$CCUSER:$CCPASS@"
CCWEBIF="http://$WUP$CCURL:$CCPORT"
WEBLOGIN=$(wget -q -O - $CCWEBIF)
[[ -z $WEBLOGIN ]] && clear && echo "CCcam Weblogon ERROR!" && exit 1
}
# E-Mail senden
mailsend() {
readipccfg
echo "Sende E-Mail..."
sendEmail -f $SMTPFROM -t $SMTPTO -u $1 -m $2 -s $SMTPSERVER -xu $SMTPUSER -xp $SMTPPASS
}
# InfoPHP Konfiguration schreiben
infophpconfwrite() {
echo "<?php" >> $TMPFILE1
echo "" >> $TMPFILE1
echo "// CONFIG CCcamInfoPhp" >> $TMPFILE1
echo "// Diese Config wird automatisch beim schliessen von [cccam cfg] erzeugt!" >> $TMPFILE1
echo "" >> $TMPFILE1
echo '$CCCamWebInfo[] = array("'$CCURL'","'$CCPORT'","'$CCUSER'","'$CCPASS'"); //Hier die Infos aus der CCcam.cfg eintragen' >> $TMPFILE1
echo "" >> $TMPFILE1
echo '$work_path = "'$INFOPHP_WORKPATH'"; // Verzeichnis der temporaeren InfoPhp Dateien' >> $TMPFILE1
echo '$update_from_button = '$INFOPHP_UPDATEFROMBUTTON'; // Update Button anzeigen?' >> $TMPFILE1
echo '$fullReshare = '$INFOPHP_FULLRESHARE'; // Reshareanzahl der Pairkarten anzeigen?' >> $TMPFILE1
echo '$country_whois = '$INFOPHP_COUNTRYWHOIS'; // Laenderkennzeichen anzeigen?' >> $TMPFILE1
echo '$password = "'$INFOPHP_PASS'"; // InfoPhp Loginseite Kennwort' >> $TMPFILE1
echo "" >> $TMPFILE1
echo "?>" >> $TMPFILE1
if [ -f $INFOPHP_CONFIG ] ; then
cp -f $TMPFILE1 $INFOPHP_CONFIG
echo ""
echo -e "\033[1;37mInfoPHP Konfiguration wurde uebertragen\033[0m"
else
echo -e "\033[1;31m$INFOPHP_CONFIG existiert nicht!\033[0m"
fi
rm -f $TMPDIR/*
}
Code: Alles auswählen
#!/bin/bash
# IPC - CCcam-Watchdog
# (c)SEG74
. /var/emu/script/functions.sh
[ -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
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!"
#CCcam gestart ?
PID="$(pgrep -x $CCVERSION)"
if [[ ! -z $PID ]] ; then
echo "$TIMESTAMP2 Watchdog - CCcam Server laeuft"
else
echo "$TIMESTAMP2 Watchdog - CCcam wurde neu gestartet" >> $CAMLOGS/CCcam-watchdog.log
cccam start
readipccfg
[ $CRASHMAIL == 1 ] && mailsend "$SUBJECT" "$MESSAGE1"
fi
#CCcam mehrfach gestartet ?
ANZAHL="$(pgrep -c $CCVERSION)"
if [ $ANZAHL -gt 1 ] ; then
[ $CRASHMAIL == 1 ] && mailsend "$SUBJECT" "$MESSAGE2"
fi
exit 0
-
- Entwickler Team
- Beiträge: 2576
- Registriert: So 17. Apr 2011, 11:39
- Been thanked: 1 time
- Kontaktdaten:
Re: Problem mit CCcam watchdog script
mmmh komisch das dass bisher sonst noch keinem aufgefallen is
Füg mal unter " . /var/emu/script/functions.sh " die funktion readipccfg ein - aber da is dann leider auch noch ein weiterer Bug drin:
[ -z $TIMESTAMP2 ]
muss aber so aussehen:
[ -z "$TIMESTAMP2" ]
Siehe dazu bitte -> Inoffizielle IPC v11.3b (v11.3 bugfixes)
Füg mal unter " . /var/emu/script/functions.sh " die funktion readipccfg ein - aber da is dann leider auch noch ein weiterer Bug drin:
[ -z $TIMESTAMP2 ]
muss aber so aussehen:
[ -z "$TIMESTAMP2" ]
Siehe dazu bitte -> Inoffizielle IPC v11.3b (v11.3 bugfixes)
Du musst nicht kämpfen um zu siegen
Re: Problem mit CCcam watchdog script
Ich finde das auch erschreckend, dass sowas keinem auffällt. Ist ja mit das wichtigste, wenn man CCcam laufen lässt, dass der watchdog läuft.
Ich hatte bisher ein anderes watchdog script laufen, wollte aber jetzt das von hier (IPC) nutzen und dadurch ist es mir aufgefallen.
Aber finde ich topp, dass du mir direkt helfen konntest und ein Update herausgebracht hast. So muss das sein. Leider bekomme ich momentan...
Ich hatte bisher ein anderes watchdog script laufen, wollte aber jetzt das von hier (IPC) nutzen und dadurch ist es mir aufgefallen.
Aber finde ich topp, dass du mir direkt helfen konntest und ein Update herausgebracht hast. So muss das sein. Leider bekomme ich momentan...
EMU-Konfiguration beibehalten?
Dies sind: /var/etc/* und /var/keys/*
Die IPC-Konfiguration bleibt nur bei Update selber Versionsnummer erhalten!
Ansonsten sind IPC, Autostart und Jobs neu einzustellen.
Konfiguration beibehalten? (j/n): j
Update wird gestartet..
-------------------------------------------------------------------------------
Jetzt gehts los..
Download..
--2011-08-31 10:37:27-- http://ipc.pebkac.at/ipc/ipc-113b.tgz
Auflösen des Hostnamen ipc.pebkac.at... 184.22.241.144
Verbindungsaufbau zu ipc.pebkac.at|184.22.241.144|:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 404 Not Found
2011-08-31 10:37:27 FEHLER 404: Not Found.
Download nicht moeglich, Abbruch!
-
- Entwickler Team
- Beiträge: 2576
- Registriert: So 17. Apr 2011, 11:39
- Been thanked: 1 time
- Kontaktdaten:
Re: Problem mit CCcam watchdog script
ups - hatte hier Probleme mit dem Upload - müsste jetzt aber funtzn
...Wenn die Cam nicht crasht brauch man auch kein watchdog - deshalb is mir das bisher auch nicht aufgefallen
...Wenn die Cam nicht crasht brauch man auch kein watchdog - deshalb is mir das bisher auch nicht aufgefallen
Spoiler
Show
Uptime : 237d 14:00:10
Connected clients : xx
Total handled client ecm's : 20772316
Total handled client emm's : 8067857
Total handled LOCAL ecm's : 5769603
Peak load : 90 38 9 5 2 1
Connected clients : xx
Total handled client ecm's : 20772316
Total handled client emm's : 8067857
Total handled LOCAL ecm's : 5769603
Peak load : 90 38 9 5 2 1
Du musst nicht kämpfen um zu siegen
Re: Problem mit CCcam watchdog script
Schau mal Feissmaik, hier ist ein anderes watchdog-script, das testet, ob CCcam per telnet erreichbar ist und wenn nicht, wird es neu gestartet.
Das halte ich für sinnvoller, da dein watchdog script nur schaut, ob der Prozess noch läuft. Und häufig läuft der Prozess noch, aber CCcam reagiert trotzdem nicht mehr und genau diesen Umstand kann dein Script leider nicht abfangen.
Code: Alles auswählen
#!/bin/sh
CCCAMPATH="/CCcam/bin"
CCCAMNAME="CCcam.x86"
TELNETPORT="16000"
LOGFILE="CCcam_restart_log.txt"
echo info|nc localhost $TELNETPORT>>/tmp/check.txt
set $(ls -s /tmp/check.txt)
if [ "$1" = "0" ];
then
echo $(date "+%d.%m.%y|%H:%M:%S|CCcam makes a restart")>>/CCcam/log/$LOGFILE
$CCCAMPATH/$CCCAMNAME restart
else
echo "all fine :)"
fi
rm /tmp/check.txt
exit 0
-
- Entwickler Team
- Beiträge: 2576
- Registriert: So 17. Apr 2011, 11:39
- Been thanked: 1 time
- Kontaktdaten:
Re: Problem mit CCcam watchdog script
Ich kenne sowas - mein privates Script beeinhaltet auch einen "response" check - aber Sinnvoll ist es nur bis zu einem gewissen Grad - sowas kann CCcam auch überhaupt erst zum crashen bringen genauso wie zu oftes updaten von CCcamInfoPHP oder wenn zuviele von meinen alten Munin-Plugins geladen sind crasht CCcam ggf ebenfals
Es gibt viele unwissende Anfänger die nicht wirklich wissen was sie da eigentich tun oder was das bewirkt - in der Vergangenheit habe ich in anderen Foren obiges Script Supportet, trotz dick und fettem Hinweis habe ich immer wieder erleben müssen das es irgendwer jede Minute, am besten jede Sekunde (gab auch jmdn der sich dafür was gebastelt hatte) hat laufen lassen und gleichzeitig meinten sie müssten ihre Cam jeden Tag neu starten weil die nicht stabil laufen würde und von watchdog ständig neu gestartet werden würde....
Sorry aber absolut jeden anzunehmenden Fall kann und will ich nicht beachten müssen - Du magst das vllt nicht machen aber irgendwer anderes scho und dann darf ich mich hier mit demjenigen herrumschlagen? Ne danke...
Das Script da ist aber auch ein wenig "fehlerhaft" gestaltet
Es gibt viele unwissende Anfänger die nicht wirklich wissen was sie da eigentich tun oder was das bewirkt - in der Vergangenheit habe ich in anderen Foren obiges Script Supportet, trotz dick und fettem Hinweis habe ich immer wieder erleben müssen das es irgendwer jede Minute, am besten jede Sekunde (gab auch jmdn der sich dafür was gebastelt hatte) hat laufen lassen und gleichzeitig meinten sie müssten ihre Cam jeden Tag neu starten weil die nicht stabil laufen würde und von watchdog ständig neu gestartet werden würde....
Sorry aber absolut jeden anzunehmenden Fall kann und will ich nicht beachten müssen - Du magst das vllt nicht machen aber irgendwer anderes scho und dann darf ich mich hier mit demjenigen herrumschlagen? Ne danke...
Das Script da ist aber auch ein wenig "fehlerhaft" gestaltet
Du musst nicht kämpfen um zu siegen
Re: Problem mit CCcam watchdog script
Kannst du nicht ein angepasstes Script für IPC hier im Forum einstellen ohne es fest in IPC zu integrieren?
Ich bin leider nicht so fit, dass ich das mal eben aus der Hand schütteln könnte...
Ich habe leider das Problem, dass mein CCcam gerne mal in den Morgenstunden am WE "aussteigt" und ein zuverlässiges Watchdog Script, dass alle fünf Minuten läuft und mich über den Neustart per Email informiert, würde mir sehr helfen.
Ich bin leider nicht so fit, dass ich das mal eben aus der Hand schütteln könnte...
Ich habe leider das Problem, dass mein CCcam gerne mal in den Morgenstunden am WE "aussteigt" und ein zuverlässiges Watchdog Script, dass alle fünf Minuten läuft und mich über den Neustart per Email informiert, würde mir sehr helfen.
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste