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

Cronjob wird ausgeführt es passiert aber nix

rooki_1

Freak
Registriert
9. Dezember 2008
Beiträge
202
Reaktionspunkte
10
Punkte
78
Hi,
ich habe mir einen neuen Server mit Raspian Jessie aufgesetzt. Ich möchte nun via Watchdog meine Oscam überwachen und bei bedarf Neustarten. Dazu habe ich mittels "crontab -e" einen Cronjob erstellt, der laut Syslog auch alle 5min ausgeführt wird. */5 * * * * root /usr/script/oscam-watchdog.sh #root Crontab Teste ob OScam laeuft (alle 5 Minuten)

Nach manuellem abschalten der Oscam wird der Job zwar ausgeführt, es passier aber nichts. Auszug aus dem Log:
Jan 5 09:45:01 RPI2 CRON[1640]: (root) CMD (root /usr/script/oscam-watchdog.sh #root Crontab Teste ob OScam laeuft (alle 5 Minuten))
Jan 5 09:45:01 RPI2 CRON[1633]: (CRON) info (No MTA installed, discarding output)

Wenn ich das Script manuell Starte, bekomme ich folgende Meldung:
root@RPI2:/usr/script# ./oscam-watchdog.sh
[....] Starting oscam (via systemctl): oscam.serviceWarning: Unit file of oscam.service changed on disk, 'systemctl daemon-reload' recommended.
. ok
Jan 05 09:51:35 rpi2 sendEmail[1708]: Email was sent successfully!
root@RPI2:/usr/script#
Eine E-mail geht raus, dass Oscam vom Script gestartet wurde. Oscam wurde aber nicht gestartet. Dies erreiche ich nur durch Eingabe von: /usr/local/bin/oscam -b

Hier mal die Scripte

oscam-watchdog.sh unter /usr/script
#!/bin/bash
# OScam-Watchdog - v0.1
#
# CONFIG - START

# OScam binary name (eg.: oscam or oscam.x86 or oscam.x86_64)
OSCAMbin="oscam" #Name deiner oscam Binary

# OScam start/stop/restart script
OScamScript="/etc/init.d/oscam" #Speicherort des Scripts

# Watchdog Logfile
OSCAMwatchlog="/var/log/OScam-watchdog.log" #Pfad des Wachtdog-Logs

# EMail verschicken bei restart? [0/1] (Vorraussetzung: apt-get install sendEmail)
CRASHMAIL="1" #0=Aus, 1=Ein

# Maileinstellungen
SMTPFROM='add@arcor.de' #Absender
SMTPTO='ich@arcor.de' #Empfänger
SMTPSERVER='mail.arcor.de' #SMTP-Server
SMTPUSER='xxxx' #Benutzer
SMTPPASS='pass' #Passwort

# CONFIG - END


_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

exit 0

Und hier das Oscam Script unter /etc/init.d

#!/bin/sh
### BEGIN INIT INFO
# Provides: oscam
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: open source cam
### END INIT INFO
# /etc/init.d/oscam
#

set -e

DAEMON=/usr/local/bin/oscam
NAME=oscam
OPTIONS=-b
PIDFILE=/var/run/oscam/oscam.pid
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

test -x $DAEMON || exit 0

. /lib/lsb/init-functions

case "$1" in
start)
log_daemon_msg "Starting oscam" "oscam"
[ -d /var/run/oscam ] || mkdir -p /var/run/oscam
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $OPTIONS
log_end_msg $?
;;
stop)
log_daemon_msg "Stopping oscam" "oscam"
start-stop-daemon --stop --quiet --pidfile $PIDFILE
log_end_msg $?
rm -f $PIDFILE
;;
restart)
$0 stop && sleep 2 && $0 start
;;
reload|force-reload)
echo "Reloading $NAME configuration files"
start-stop-daemon --stop --pidfile $PIDFILE --signal 1 --exec $DAEMON
echo "."
;;
status)
pidofproc -p $PIDFILE $DAEMON >/dev/null
status=$?
if [ $status -eq 0 ]; then
log_success_msg "oscam is running."
else
log_failure_msg "oscam is not running."
fi
exit $status
;;
*)
echo "Usage: /usr/local/bin/$NAME {start|stop|restart|reload}"
exit 1
;;
esac

exit 0

PIDfile in der oscam.conf ist unter /var/run/oscam/oscam.pid

Das PIDfile funktioniert auch beim Start der Oscam ist es da.

Hat jemand eine Idee ?

Gruß Rooki
 
Zuletzt bearbeitet von einem Moderator:
AW: Cronjob wird ausgeführt es passiert aber nix

Poste mal die /etc/crontab bitte.
 
AW: Cronjob wird ausgeführt es passiert aber nix

Bitteschön
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
@reboot sudo iptables -t nat -A POSTROUTING -s 10.8.0.1/24 -o eth0 -j MASQUERADE
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
#*/5 * * * * root /usr/script/oscam-watchdog.sh #Teste ob OScam laeuft (alle 5 Minuten)
*/1 * * * * /bin/bash --login /usr/script/oscam-watchdog.sh #Teste ob OScam laeuft (alle 5 Minuten)
45 22 * * 4 root /usr/script/dyndns.sh #Bei Dyndns einloggen (jeden Donnerstag um 22:45 Uhr)


#
Habe hier nach# extra das "root Crontab" weggelassen, um zu sehen was aktiv ist.
 
AW: Cronjob wird ausgeführt es passiert aber nix

#*/5 * * * * root /usr/script/oscam-watchdog.sh #Teste ob OScam laeuft (alle 5 Minuten)

Also ich kann da nur sehen, daß die Zeile auskommentiert ist, also "nichts" macht bzw. aktiv ist.
 
AW: Cronjob wird ausgeführt es passiert aber nix

Hi,
läuft denn dein Script unter /etc/init.d ?
Was bringt ein /etc/init.d/oscam start, wenn oscam nicht läuft?

Gruß
janni1
 
AW: Cronjob wird ausgeführt es passiert aber nix

Hi,
habe das mal ausgeführt:
root@RPI2:~# /etc/init.d/oscam start
[....] Starting oscam (via systemctl): oscam.serviceWarning: Unit file of oscam.service changed on disk, 'systemctl daemon-reload' recommended.
. ok
root@RPI2:~#
Oscam wird nicht gestartet
 
AW: Cronjob wird ausgeführt es passiert aber nix

Hi,
dann mach vorher mal ein "systemctl daemon-reload" und versuch es noch mal.

Gruß
janni1
 
AW: Cronjob wird ausgeführt es passiert aber nix

root@RPI2:/usr/script# /etc/init.d/oscam start
[ ok ] Starting oscam (via systemctl): oscam.service.

gestartet wurde aber nix

Muss noch nachreichen das ich dass hier ausprobiert hab, hier aus dem Board
AW: Problem mit OScam Start-Script
Code:
[Unit]
Description=OScam daemon
After=tmp.mount network.target


[Service]
Type=forking
ExecStart=/usr/local/bin/oscam -b -B /var/run/oscam.pid -p 256 -w 5 -r 2 -c /usr/local/etc


[Install]
WantedBy=multi-user.target
Datei "/etc/systemd/system/oscam.service" mit obigem Inhalt erzeugen.
Mit "systemctl enable oscam.service" automatischen Start aktivieren.
Mit "systemctl start oscam.service" starten.

Das init Script brauchst du dann nicht mehr.

Gruss
micha​
 
Zuletzt bearbeitet von einem Moderator:
AW: Cronjob wird ausgeführt es passiert aber nix

Hi,
kannst du denn dann Oscam mit
"systemctl start oscam.service"
starten?

Gruß
janni1
 
AW: Cronjob wird ausgeführt es passiert aber nix

Er zeigt ok. Passiert aber nix. Nur manuelle Eingabe von /usr/local/bin oscam start -b geht.
 
AW: Cronjob wird ausgeführt es passiert aber nix

ketzerisch OT: Mir ist nach 3 Jahren OScam 24/7 Betrieb unter Debian und Ubuntu noch nicht einmal was abgestürzt, ich behaupte mal ein Watchdog macht dir ggf. mehr Kuddelmuddel wie das es etwas hilft.

-supraracer
 
AW: Cronjob wird ausgeführt es passiert aber nix

Das ist sicherlich richtig, der watchdog wäre nice to have. Ich habe mir auch schon gedacht das ganze einfach weg zu lassen, ich würde trotzdem gerne verstehen warum das nicht läuft. Hätte ja sein können dass hier jemand ne Antwort darauf hat.
Ich bin immer bereit dazuzulernen.

Rooki
 
Zurück
Oben