OSCam/de/ShellCommands: Unterschied zwischen den Versionen
Zeile 50: | Zeile 50: | ||
==== Starten- und Beenden-Beispiel ==== | ==== Starten- und Beenden-Beispiel ==== | ||
<syntaxhighlight lang="bash"> | |||
#!/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 NAME | |||
camd_ps_oscam='oscam' | |||
# ---------------------------------------------------------- | |||
# Max time in seconds before sending killall SIGKILL to CAMD - default 5 | |||
camd_max_killtime=5 | |||
# ---------------------------------------------------------- | |||
# CAMD logfile | |||
camd_logfile='/tmp/camd.log' | |||
#camd_logfile='/dev/null' # <-- logging off | |||
# ---------------------------------------------------------- | |||
# CAMD START COMMAND | |||
camd_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 | |||
</syntaxhighlight> | |||
=== Reloads === | === Reloads === |
Version vom 30. Jänner 2011, 16:00 Uhr
OSCam Übersicht OSCam Home OSCam Accueil OSCam Home
OSCam Shell-Befehle
Nachfolgende Befehle helfen nicht nur den Image-Erstellern. Dem einen oder anderen, der "eigene" Skripte benötigt/einsetzt, hilft es sicherlich auch weiter.
OSCam starten und beenden
Startparameter abfragen
Mit welchen Parametern lässt sich OSCam starten?
<PATH_TO_OSCAM>/oscam -h
Beispiel:
___ ____ ___ / _ \/ ___| / __|__ _ _ __ ___ | | | \___ \| | / _` | '_ ` _ \ | |_| |___) | |_| (_| | | | | | | \___/|____/ \___\__,_|_| |_| |_| OSCam cardserver v1.00-unstable_svn, build #4611 (i686-pc-linux) - (w) 2009-2011 Streamboard SVN see http://streamboard.gmc.to/oscam/ for more details based on Streamboard mp-cardserver v0.9d - (w) 2004-2007 by dukat This program is distributed under GPL. inbuilt modules: webinterface irdeto-guessing anticascading debug doublecheck loghistory smartreader pcsc gbox inbuilt protocols: monitor camd35-udp newcamd cccam serial inbuilt cardreader: nagra irdeto tongfang oscam [-b] [-c config-dir] [-d] [-h] -b : start in background -c <dir> : read configuration from <dir> default = /var/keys -t <dir> : tmp dir <dir> default = /tmp/.oscam -d <level> : debug level mask 0 = no debugging (default) 1 = detailed error messages 2 = ATR parsing info, ECM, EMM and CW dumps 4 = traffic from/to the reader 8 = traffic from/to the clients 16 = traffic to the reader-device on IFD layer 32 = traffic to the reader-device on I/O layer 64 = EMM logging 128 = DVBAPI logging 255 = debug all -r : restart level 0 = disabled, restart request sets exit status 99 1 = restart activated, web interface can restart oscam (default) 2 = like 1, but also restart on SEGFAULTS -h : show this help
Starten- und Beenden-Beispiel
<syntaxhighlight lang="bash">
- !/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 NAME
camd_ps_oscam='oscam'
- ----------------------------------------------------------
- Max time in seconds before sending killall SIGKILL to CAMD - default 5
camd_max_killtime=5
- ----------------------------------------------------------
- CAMD logfile
camd_logfile='/tmp/camd.log'
- camd_logfile='/dev/null' # <-- logging off
- ----------------------------------------------------------
- CAMD START COMMAND
camd_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 </syntaxhighlight>
Reloads
<syntaxhighlight lang="bash">
- Benutzer-Datenbank neuladen:
kill -1 `pidof oscam`
- Karten-Informationen neuladen:
killall -SIGUSR2 oscam </syntaxhighlight>
Sonstiges
Anzahl der Reader ermitteln:
r=0 if [ -d "/tmp/.oscam" ]; then r=$(ls -l /tmp/.oscam/reader* | wc -l) fi echo $r
Diese Seite in anderen Sprachen - This page in other languages - Cette page dans d'autres langues - Queste pagine in altre Lingue
[[OSCam/de/{{#titleparts:OSCam/de/ShellCommands|3|3}}|Deutsch]] [[OSCam/en/{{#titleparts:OSCam/de/ShellCommands|3|3}}|English]] [[OSCam/fr/{{#titleparts:OSCam/de/ShellCommands|3|3}}|Français]] [[OSCam/it/{{#titleparts:OSCam/de/ShellCommands|3|3}}|Italiano]]