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

Raspberry Pi OScam Start/Stop/Restart

L

Lynsch

Guest
Hy,

ich hab heute nen Raspberry Pi V2 bekommen.
Hab dann nach Anleitung hier Raspbian installiert und Oscam.
Ebenso hab ich (auch nach Anleitung von der Community hier) es geschafft,
dass alle 30 Sek. gecheckt wird ob Oscam läuft, und wenn das nicht der Fall ist wird neu gestartet.

Ebenso wird Oscam gleich zu Beginn gestartet.


Nun hab ich noch eine Frage.


Gibt es eine Möglichkeit sich etwas einzurichten um Oscam schnell mal über ssh restarten zu können oder starten/stoppen?

Also durch Eingabe von "oscam start/restart/stop" oder so ähnlich.

Gefunden hab ich das hier:

#!/bin/sh
# 2011/01/26 - OSCam Start/Stop-Example## Examples *************************************************# <PATH_TO_SCRIPT>/<SCRIPT_NAME> <PARAMETER># /var/emu/oscam.sh stop# /var/emu/oscam.sh start# /var/emu/oscam.sh reload (same as "start" or "restart")## USER SETUP ################################################ ----------------------------------------------------------# Path to the camd binaries - without trailing slash!# Example: camd_path='/var/emu'camd_path='/var/emu'# ----------------------------------------------------------# Path to the camd configuration files - without trailing slash!# Example: camd_c_path='/var/keys'camd_c_path='/var/keys'# ----------------------------------------------------------# CAMD PROCESS NAMEcamd_ps_oscam='oscam'# ----------------------------------------------------------# Max time in seconds before sending killall SIGKILL to CAMD - default 5camd_max_killtime=5# ----------------------------------------------------------# CAMD logfilecamd_logfile='/tmp/camd.log'#camd_logfile='/dev/null' # <-- logging off# ----------------------------------------------------------# CAMD START COMMANDcamd_start_oscam="$camd_path/$camd_ps_oscam -c $camd_c_path"# END USER SETUP ########################################### # PRIVATE VARs *********************************************hr='------------------------------------------------------------' # FUNCTIONS ************************************************fStop() { echo "$hr" >> $camd_logfile echo `date`": Stopping $1..." >> $camd_logfile if ! pidof $1 > /dev/null; then echo `date`": $1 is not running" >> $camd_logfile else echo `date`": Send kill SIGTERM to $1" >> $camd_logfile kill -15 $(pidof $1) >> $camd_logfile 2>&1 sleep 1 if pidof $1 > /dev/null; then i=$camd_max_killtime while expr $i != 0 > /dev/null; do if pidof $1 > /dev/null; then echo `date`": Waiting max $i seconds before sending kill SIGKILL to $1..." >> $camd_logfile else echo `date`": $1 successfully killed" >> $camd_logfile break fi i=`expr $i - 1` sleep 1 done else echo `date`": $1 successfully killed" >> $camd_logfile fi if pidof $1 > /dev/null; then echo `date`": Sending killall SIGKILL to $1!" >> $camd_logfile killall -9 $1 >> $camd_logfile 2>&1 fi fi} fStart() { if pidof $1 > /dev/null; then fStop $1 fi echo "$hr" >> $camd_logfile echo `date`": Starting $1..." >> $camd_logfile camd_start=$(eval echo \${"camd_start_$1"}) echo `date`": $camd_start" >> $camd_logfile $camd_start > /dev/null 2>&1 & sleep 1 if pidof $1 > /dev/null; then echo `date`": $1 successfully started" >> $camd_logfile else echo `date`": Could not start $1!" >> $camd_logfile fi} # BY PARAMETER *********************************************case "$1" in 'stop') fStop "$camd_ps_oscam" ;; 'start'|'restart'|'reload') fStart "$camd_ps_oscam" ;; *) msg='UNKNWON OR MISSING PARAMETER!' echo "$msg" echo "$hr" >> $camd_logfile echo `date`": $msg" >> $camd_logfile exit 1 ;;esac exit 0


Ich bin mir nur nicht ganz sicher ob das dass ist was ich suche und wie ich das dann zum laufen bekomme.

mfg
 
AW: Raspberry Pi OScam Start/Stop/Restart

Hier mal mein Script ist einfach gehalten aber funktioniert...
IPC wegen einem Start/Stop Script ist doch etwas übertrieben ;)

Script in ein Verzeichnis legen und es z.B. o ohne Endung bezeichnen.
#chmod 0755 scriptpfad/scriptname
Nun ein Link zu dem Script mit
#ln scriptpfad/o /bin/o machen

nun kannst du vom shell aus z.B. o stop oder o start usw. eingeben...

bei mir klappt das super...
Arbeite gerade an der Erweiterung zum compilieren, geht schon ganz gut muss nur noch die Überprüfungen fertig machen.

#!/bin/sh
CAMNAME="Oscam Server" #Anzeige Name
OSLOC="/var/local/bin/oscam" #Pfad in dem Oscam bin liegt
OSCONF="/etc/config/oscam" #Pfad in dem Oscam config liegt
OSLOG="/var/log/oscam.log" #Pfad in dem Oscam Log liegt
OSSERVICE"=oscam" #Name mit welchem Service Oscam gestartet wird (gleich wie Dateiname von Oscam)

# end
#### Oscam start #####
start_cam ()
{
var=`ps -eaf | grep $OSSCERVICE | wc -l`
if [ $var -lt "2" ]; then
sleep 2
$ OSLOC -b -c $OSCONF
else
echo "$CAMNAME läuft bereits !!"
fi
}
#### Oscam stop #####
stop_cam ()
{
pkill -9 $OSSERVICE
}
##### OScam Log-View #####
log_view ()
{
tail -f $OSLOG
}
#### Oscam Status abfrage ####
status_cam ()
{
var=`ps -eaf | grep $OSSERVICE | wc -l`
if [ $var -lt "2" ]; then
echo "$CAMNAME läuft nicht"
else
echo "$CAMNAME läuft"
fi
}
#### Oscam srvid update ####
srvid_update ()
{
clear
echo "Datei holen..."
echo ""
cd /tmp
wget
echo ""
echo "Datei nach $OSCONG/ kopieren..."
cp oscam.srvid $OSCONF/oscam/
}

#### Oscam services update ####
services_update ()
{
clear
echo "Datei holen..."
echo ""
cd /tmp
wget
echo "Datei nach $OSCONF/oscam/ kopieren..."
cp oscam.services $OSCONF/oscam/
}

#### Oscam config edit ####
config_edit ()
{
clear
nano $OSCONF/oscam.conf
}

#### Oscam server edit ####
server_edit ()
{
clear
nano $OSCONF/oscam.server
}

#### Oscam user edit ####
user_edit ()
{
clear
nano $OSCONF/oscam.user
}

case "$1" in
start)
echo "$CAMNAME wird gestartet"
start_cam
;;
stop)
echo "$CAMNAME wird gestopt"
stop_cam
;;
restart)
echo "$CAMNAME wird neu gestartet"
stop_cam
sleep 3
start_cam
;;
status)
status_cam
;;
log)
clear
echo "$CAMNAME Log-File / Ende mit STRG+C";
echo ""
log_view
;;
srvid)
srvid_update
;;
services)
services_update
;;
server)
server_edit
;;
conf)
config_edit
;;
user)
user_edit
;;
auswahl)
clear
echo ""
echo "$CAMNAME"
echo "==============================================================================="
echo ""
echo "Befehle"
echo ""
echo "-------------------------------------------------------------------------------"
echo ""
echo " o start - start des Oscam-Servers"
echo " o stop - stop des Oscam-Servers"
echo " o restart - neustart des Oscam-Servers"
echo " o status - Status abfrage des Oscam-Servers"
echo ""
echo " o conf - oscam.conf bearbeiten"
echo " o server - oscam.server bearbeiten"
echo " o user - oscam.user bearbeiten"
echo ""
echo " o srvid - update srvid"
echo " o services - update services"
echo ""
echo " o log - zeigt Oscam Log-Datei mit Aktualiesierung"
echo ""
echo "-------------------------------------------------------------------------------"
;;
*)
"$0" auswahl
exit 1
;;
esac
exit 0
 
AW: Raspberry Pi OScam Start/Stop/Restart

Warum sich selber die Arbeit machen wenn die ipc schmiede ein "all inklusive" Paket bietet? Das finde ich übertrieben, es sei denn man will selber programmieren lernen. LG Osprey
 
AW: Raspberry Pi OScam Start/Stop/Restart

Genau mein Ansatz... "es sein den man will lernen".

Denn sehr viele User wissen hier durch das vorgekaute nicht was sie tun und oft auch nicht wie etwas funktioniert.
Das finde ich sehr schade, den genau darum sollte es gehen, und nicht um möglichst einfach das S**-Abo zu teilen.

Vor gut 6 Monaten hatte ich weder von Linux noch von Osacm usw. Ahnung, heute bin ich in der Lage das ein oder andere Mal anderen Usern zu helfen.
Hätte ich wie am Anfang nur IPC laufen lassen und mich zufrieden gegeben (wie duch sicher auch) könnte ich das sehr wahrscheinlich nicht.

Ausserdem bin ich nicht gerne abhänig von anderen. ;)

Aber das ist meine Ansichtweise der Dinge. Jedem das Seine!


Noch was zum eigentlichen Thema "Script und Raspi", er hat leider nicht so viel Rechenleistung und deswegen sollte man unnötige Dinge nicht installieren und laufen lassen.
Deswegen läuft bei mir Oscam only mit meinen Scripts ohne Schnick Schnack.
 
AW: Raspberry Pi OScam Start/Stop/Restart

Also es geht mir in erster Linie ums lernen und ich würds halt gern so klein wie möglich halten das ganze so minimalistisch wie möglich halten. daher hab ich auch kein ipc sondern nur raspbian + oscam. watchdog und nun das hier :)

mehr soll da gar nicht laufen.

EDIT:

Eine Frage hab ich zu dem Script.
Und zwar hier:

#### Oscam srvid update ####
srvid_update ()
{
clear
echo "Datei holen..."
echo ""
cd /tmp
wget
echo ""
echo "Datei nach $OSCONG/ kopieren..."
cp oscam.srvid $OSCONF/oscam/
}

#### Oscam services update ####
services_update ()
{
clear
echo "Datei holen..."
echo ""
cd /tmp
wget
echo "Datei nach $OSCONF/oscam/ kopieren..."
cp oscam.services $OSCONF/oscam/
}

warum ist da als Pfad $OSCONF/oscam/ angegeben?
Ich dachte zu Beginn des Scriptes gibt man ja mit $OSCONF schon den richtigen Pfad an für die oscam.srvid und oscam.services.
Mein Pfad für die Configs ist z.B. /usr/local/etc, das habe ich auch zu Beginn des Scriptes bei $OSCONF angegeben.
Nach diesem Script aber kopiert er doch die aktuelle oscam.services zu /usr/local/etc/oscam oder versteh ich da was falsch?



EDIT2:

Also soweit läufts fast. der stop und restart und log befehl gehen ebenso wie die updates.

Beim Start-Befehl bringt er mir das hier:

Oscam Server wird gestartet
Aufruf: grep [OPTION]... MUSTER [DATEI]...
Try 'grep --help' for more information.
/bin/rcoscam: 15: /bin/rcoscam: $: not found

und ich weiß nicht genau was ich damit anfangen kann.


Ein anderes Problem ist, dass ichs nur als root ausführen kann. Ich möchts aber gern mit meinem normalen User können.
mein Script heisst rcoscam und befindet sich in /usr/local/etc/.
Den Namen hab ich nur gewählt weil mir das mal jemand zuvor auf ner anderen Kiste eingerichtet hat mit rcoscam und ich das nun so gewohnt bin.

Eingegeben hab ich
chmod 755 usr/local/etc/rcoscam

als normaler user aber auch als root. nur irgendwie hilft das nix bzw. ich kann zwar als user oscam log ausführen aber wenn ich z.b. "oscam stop" versuche kommt die Meldung:

pkill: killing pid 8019 failed: Die Operation ist nicht erlaubt
pkill: killing pid 8021 failed: Die Operation ist nicht erlaubt

Evtl. hängts da noch irgendwo.
 
Zuletzt bearbeitet von einem Moderator:
AW: Raspberry Pi OScam Start/Stop/Restart

Hallo,

du hast natürlich recht das der Pfad $OSCONF/oscam/ falsch ist... richtig ist... $OSCONF
Eine unachtsamkeit von mir...


Habe das Script mal kurz auf deine Paramter angepasst...
Bei mir funktioniert es, kopiere einfach das ganze Script von hier...

#!/bin/sh
CAMNAME="Oscam Server" #Anzeige Name
OSLOC="/usr/local/etc/" #Pfad in dem Oscam bin liegt
OSCONF="/usr/local/etc/" #Pfad in dem Oscam config liegt
OSLOG="/var/log/oscam.log" #Pfad in dem Oscam Log liegt
OSSERVICE="rcoscam" #Name mit welchem Service Oscam gestartet wird (gleich wie Dateiname von Oscam)

# end
#### Oscam start #####
start_cam ()
{
var=`ps -eaf | grep $OSSERVICE | wc -l`
if [ $var -lt "2" ]; then
sleep 2
$OSLOC$OSSERVICE -b -c $OSCONF
else
echo "$CAMNAME läuft bereits !!"
fi
}
#### Oscam stop #####
stop_cam ()
{
pkill -9 $OSSERVICE
}
##### OScam Log-View #####
log_view ()
{
tail -f $OSLOG
}
#### Oscam Status abfrage ####
status_cam ()
{
var=`ps -eaf | grep $OSSERVICE | wc -l`
if [ $var -lt "2" ]; then
echo "$CAMNAME läuft nicht"
else
echo "$CAMNAME läuft"
fi
}
#### Oscam srvid update ####
srvid_update ()
{
clear
echo "Datei holen..."
echo ""
cd /tmp
wget
echo ""
echo "Datei nach $OSCONF kopieren..."
cp oscam.srvid $OSCONF
}

#### Oscam services update ####
services_update ()
{
clear
echo "Datei holen..."
echo ""
cd /tmp
wget
echo "Datei nach $OSCONF kopieren..."
cp oscam.services $OSCONF
}

#### Oscam config edit ####
config_edit ()
{
clear
nano $OSCONF/oscam.conf
}

#### Oscam server edit ####
server_edit ()
{
clear
nano $OSCONF/oscam.server
}

#### Oscam user edit ####
user_edit ()
{
clear
nano $OSCONF/oscam.user
}

case "$1" in
start)
echo "$CAMNAME wird gestartet"
start_cam
;;
stop)
echo "$CAMNAME wird gestopt"
stop_cam
;;
restart)
echo "$CAMNAME wird neu gestartet"
stop_cam
sleep 3
start_cam
;;
status)
status_cam
;;
log)
clear
echo "$CAMNAME Log-File / Ende mit STRG+C";
echo ""
log_view
;;
srvid)
srvid_update
;;
services)
services_update
;;
server)
server_edit
;;
conf)
config_edit
;;
user)
user_edit
;;
auswahl)
clear
echo ""
echo "$CAMNAME"
echo "==============================================================================="
echo ""
echo "Befehle"
echo ""
echo "-------------------------------------------------------------------------------"
echo ""
echo " o start - start des Oscam-Servers"
echo " o stop - stop des Oscam-Servers"
echo " o restart - neustart des Oscam-Servers"
echo " o status - Status abfrage des Oscam-Servers"
echo ""
echo " o conf - oscam.conf bearbeiten"
echo " o server - oscam.server bearbeiten"
echo " o user - oscam.user bearbeiten"
echo ""
echo " o srvid - update srvid"
echo " o services - update services"
echo ""
echo " o log - zeigt Oscam Log-Datei mit Aktualiesierung"
echo ""
echo "-------------------------------------------------------------------------------"
;;
*)
"$0" auswahl
exit 1
;;
esac
exit 0
 
Zuletzt bearbeitet:
AW: Raspberry Pi OScam Start/Stop/Restart

ok das mit dem sudo ist mir klar.
aber man kann dem user "pi" nicht die erlaubnis geben dieses "o" command ohne sudo auszuführen?

Aber was das hier bedeutet weiß ich nicht.
Das kommt wenn Oscam gestartet ist und ich "rcoscam start" eingebe. Macht der das dann oder nicht?


Oscam wird gestartet.
Aufruf: grep [OPTION]... MUSTER [DATEI]...
Try 'grep --help' for more information.
/bin/rcoscam: 15: /bin/rcoscam: $: not found
 
Zuletzt bearbeitet von einem Moderator:
rcoscam start??
Wenn ich o start eingebe und Oscam läuft schon. Meldet er das es schon läuft

Hast du am Script was geändert?




Sent from my iPhone using Tapatalk 2
 
AW: Raspberry Pi OScam Start/Stop/Restart

ich hab nur ganz oben die pfade geändert so wie se bei mir sind und bei befehlen hab ich rcoscam stat o gemacht.
mein alter server funktionierte mit dem "rcoscam start/restart/ usw... ich wollt nur wieder den selben befehl haben da ichs schon so gewohnt bin
 
AW: Raspberry Pi OScam Start/Stop/Restart

das geht bei hier nicht, die oscam und das script dürfen nicht den gleichen namen haben...
entwerder oscam umbennen oder den kurzbefehl ändern...
 
AW: Raspberry Pi OScam Start/Stop/Restart

hm aber rcoscam ist doch nicht oscam. irgendwie versteh ichs nicht. sorry :)
oder darf das wort oscam nicht im befehl enthalten sein?
 
AW: Raspberry Pi OScam Start/Stop/Restart

Dein Datei für RCOscam heißt wenn ich es richtig verstanden habe "rcoscam" und liegt im Pfad "/usr/local/etc/", richtig?
Die Config Dateien liegen dort auch, richtig?

Gesendet von meinem iPad mit Tapatalk HD
 
Zurück
Oben