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

Problem mit OScam Start-Script

InvisiGod

Ist oft hier
Registriert
25. Oktober 2008
Beiträge
111
Reaktionspunkte
4
Punkte
38
Hallo zusammen,

ich musste leider nach einem HDD-Crash meinen Debian Card-Server neu aufsetzen.
Leider habe ich noch ein Problem mit dem automatischen Starten on OScam

Meine Oscam liegt unter: usr/local/bin
Start Script liegt unter: etc.init.d und heisst oscam mit Rechten 755

#!/bin/bash
### BEGIN INIT INFO
# Provides: oscam
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Init script for oscam
### END INIT INFO

. /lib/lsb/init-functions

NAME=oscam
DAEMON="/usr/local/bin/oscam"
PIDFILE=/tmp/.oscam/oscam.pid
DAEMON_OPTS="-b"

PATH=/sbin:/bin:/usr/sbin:/usr/bin/oscam

test -x $DAEMON || exit 0

. /lib/lsb/init-functions

case "$1" in
start)
log_daemon_msg "Starting oscam" "oscam"
[ -d /usr/local/bin/oscam ] || mkdir -p /usr/local/bin/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: /etc/init.d/$NAME {start|stop|restart|reload}"
exit 1
;;
esac

exit 0


Ausgabe beim Versuch zu Starten:
/etc/init.d/oscam start
[....] Starting oscam (via systemctl): oscam.serviceWarning: Unit file of oscam.service changed on disk, 'systemctl daemon-reload' recommended.
Job for oscam.service failed. See 'systemctl status oscam.service' and 'journalctl -xn' for details.
failed!


Jemand eine Idee was nicht stimmt?

Vielen Dank im Voraus!

InvisiGod
 
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: Problem mit OScam Start-Script

Vielen Dank, hat jemand vielleicht auch noch eine Scripterweiterung, die checkt ob oscam gecrashed ist und diese dann neu startet?
 
AW: Problem mit OScam Start-Script

Ich habs so gemacht :

/usr/local/bin/oscamchk
Code:
#!/bin/bash

if [ ! $(ps -e | grep -q "oscam") ]; then
    systemctl start oscam.service
fi

/etc/crontab
Code:
# /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/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin


# 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 )
#


* *    * * *    root    /usr/local/bin/oscamchk >/dev/null 2>&1

Wichtig ist die Rechte der Dateien müssen stimmen.
chmod 755 /usr/local/bin/oscamchk
chmod 600 /etc/crontab

oscamchk wird jede Minute ausgeführt und geprüft ob oscam nochläuft.
Wenn nicht wird oscam neu gestartet.

Gruss
micha
 
AW: Problem mit OScam Start-Script

@Micha, mir hat es auch geholfen nach einem Update von Ubuntu 14.04 auf 16.04. Danke!
 
Hi,

das Script von @supamicha könnte mal allerdings noch etwas ergänzen/erweitern bzw hier mal eine Alternative bzgl Ersatz für Watchdog.
Code:
[Unit]
Description=OScam
After=network.target
Requires=network.target

[Service]
Type=forking
PIDFile=/var/run/oscam.pid
ExecStart=/usr/local/bin/oscam -b -B /var/run/oscam.pid
ExecStop=/bin/rm /var/run/oscam.pid
TimeoutStopSec=1
Restart=always
RestartSec=5
StartLimitInterval=0

[Install]
WantedBy=multi-user.target
Anmerkungen:
Restart weg lassen, wenn systemctl nicht für einen Neustart sorgen soll falls mal OScam absemmelt.
RestartSec wird dann auch nicht benötigt
 
Zuletzt bearbeitet von einem Moderator:
Hi,
den Status kann man sich übrigens ganz einfach per
systemctl status oscam
anzeigen lassen.

sieht dann etwa so aus
Code:
root@debian-server:~# systemctl status oscam
● oscam.service - OScam daemon
   Loaded: loaded (/etc/systemd/system/oscam.service; enabled)
   Active: active (running) since Do 2017-03-30 19:15:28 CEST; 6 months 13 days ago
 Main PID: 484 (oscam)
   CGroup: /system.slice/oscam.service
           ├─  484 /usr/local/bin/oscam -b -B /var/run/oscam.pid -p 256 -w 5 -r 2 -c /usr/local/etc
           └─25561 /usr/local/bin/oscam -b -B /var/run/oscam.pid -p 256 -w 5 -r 2 -c /usr/local/etc
 
Hallo,
sry das ich den Thread nochmal hochhole aber das ist genau das was ich suche.

Habe mich m. M. n. an die Anleitung(en) heir gehalten. Oscam läuft auch. Wenn ich sie testweise mit "service oscam stop" stoppe, wird sie nicht mehr automatisch neu gestartet.

Evtl. wäre ja jemand bereit, mir bei der Fehlersuche zu helfen. Als OS läuft Stretch

Vorab schon mal besten Dank.
 
Hi,
wie hast du es denn angelegt?
Mit dem Watchdog aus #4 oder mit den "Restart"-Einträgen aus #7 ?
 
Hi,

dann poste mal die beiden Ausgaben, jeweils 2 Beiträge über Dir.

Gruß

Gesendet von meinem SM-G920F mit Tapatalk
 
Hallo janni1,

erst mit dem Watchdog, was nicht funktionierte. Dann mit dem modifiziertem Script eben mit den Restarts, was aber leider auch nicht zum Erfolg führte. Berechtigungen stimmen, Stretch (lite) ist neu drauf, also noch alles ganz jungfräulich. Habe bisher jessy am Start gehabt, da lief das mit dem Watchdog ganz gut, obwohl er nie zum Einsatz kam da es super stabil lief. Da wurde die Oscam via rc.local gestartet und nicht als Dienst so wie jetzt.
 
Hi,

kannst Du halten wie ein Dachdecker.

Entweder systemd nehmen oder rc.local.

Es führen hierbei mehrere Wege nach Rom.

Gruß

Gesendet von meinem SM-G920F mit Tapatalk
 
Hi,
wenn du das mit den "Restarts" gemacht hast, wird natürlich Oscam nicht nach einem "service oscam stop" neu gestartet. Da würde der ganze Service keinen Sinn machen.
Neugestartet wird nur, wenn oscam abschmiert oder zum Test anderweitig gekillt wird zb. mit "kill" oder übers WebIf.
 
Zurück
Oben