Clipinc.sh
Aus VDR Wiki
(Unterschied zwischen Versionen)
(Scripts besser seperat (kopiert sich besser)) |
(M) |
||
(36 dazwischenliegende Versionen von 30 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
+ | Vorschlag für ein einfaches Skript um [[clipinc]] zu ''starten'', welches über die [[reccmds.conf]] ausgeführt werden kann. | ||
+ | |||
+ | {{Box Datei | [[Struktur|$PATH]]/clipinc.sh | | ||
+ | <pre> | ||
#!/bin/sh | #!/bin/sh | ||
# | # | ||
− | + | # clipinc.sh | |
− | # | + | |
# | # | ||
− | # | + | # add this lines to your reccmds.conf: |
+ | # folgende zeilen in die reccmds.conf eintragen: | ||
+ | # | ||
+ | # Run clipinc : /path_to_this_script/clipinc.sh -start | ||
+ | # Stop clipinc? : /path_to_this_script/clipinc.sh -kill | ||
− | + | # CONFIG START | |
− | + | CLIPINC_LOGFILE="/var/log/vdr/clipinc.log" | |
− | + | # CONFIG END | |
− | + | ||
− | + | which clipinc.pl >/dev/null 2>&1 || { echo clipinc.pl $"not found" ... ; exit 1 ; } | |
− | + | ||
− | + | case $1 in | |
− | + | -start) | |
− | + | if [ -s "${PIDFILE:=$2/clipinc.pid}" ] ; then | |
− | + | read PID < "$PIDFILE" | |
− | + | echo $"Clipinc process already active" "(pid: $PID)" ... | |
− | + | else | |
− | + | if [ -e "$2/recinfo.conf" ] ; then | |
− | + | screen -dm sh -c \ | |
− | + | " \ | |
− | + | clipinc.pl \"$2\" > \"$CLIPINC_LOGFILE\" 2>&1 & | |
− | + | svdrpsend.pl -p ${VDR_PORT:-2001} MESG \""$"Clipinc process started"" (pid: \$!) ...\" ; \ | |
− | + | echo \$! > \"$PIDFILE\" ; \ | |
− | + | wait \$! ; \ | |
+ | rm -f \"$PIDFILE\" ; \ | ||
+ | svdrpsend.pl -p ${VDR_PORT:-2001} MESG \""$"Clipinc process finished"" (pid: \$!) ...\" ; \ | ||
+ | " | ||
+ | else | ||
+ | echo $"recinfo.conf not found" ... | ||
+ | fi | ||
+ | fi | ||
+ | ;; | ||
+ | -kill) | ||
+ | if [ -s "${PIDFILE:=$2/clipinc.pid}" ] ; then | ||
+ | read PID < "$PIDFILE" | ||
+ | if ps -p $PID >/dev/null 2>&1 ; then | ||
+ | kill -9 $PID | ||
+ | fi | ||
+ | rm -f "$PIDFILE" | ||
+ | fi | ||
+ | ;; | ||
esac | esac | ||
+ | |||
+ | exit $? | ||
</pre> | </pre> | ||
+ | }} | ||
+ | |||
+ | ==Quellen== | ||
+ | * [[clipinc]] | ||
+ | |||
+ | [[Kategorie:Skripte]] |
Aktuelle Version vom 12. Juni 2006, 09:02 Uhr
Vorschlag für ein einfaches Skript um clipinc zu starten, welches über die reccmds.conf ausgeführt werden kann.
$PATH/clipinc.sh
#!/bin/sh # # clipinc.sh # # add this lines to your reccmds.conf: # folgende zeilen in die reccmds.conf eintragen: # # Run clipinc : /path_to_this_script/clipinc.sh -start # Stop clipinc? : /path_to_this_script/clipinc.sh -kill # CONFIG START CLIPINC_LOGFILE="/var/log/vdr/clipinc.log" # CONFIG END which clipinc.pl >/dev/null 2>&1 || { echo clipinc.pl $"not found" ... ; exit 1 ; } case $1 in -start) if [ -s "${PIDFILE:=$2/clipinc.pid}" ] ; then read PID < "$PIDFILE" echo $"Clipinc process already active" "(pid: $PID)" ... else if [ -e "$2/recinfo.conf" ] ; then screen -dm sh -c \ " \ clipinc.pl \"$2\" > \"$CLIPINC_LOGFILE\" 2>&1 & svdrpsend.pl -p ${VDR_PORT:-2001} MESG \""$"Clipinc process started"" (pid: \$!) ...\" ; \ echo \$! > \"$PIDFILE\" ; \ wait \$! ; \ rm -f \"$PIDFILE\" ; \ svdrpsend.pl -p ${VDR_PORT:-2001} MESG \""$"Clipinc process finished"" (pid: \$!) ...\" ; \ " else echo $"recinfo.conf not found" ... fi fi ;; -kill) if [ -s "${PIDFILE:=$2/clipinc.pid}" ] ; then read PID < "$PIDFILE" if ps -p $PID >/dev/null 2>&1 ; then kill -9 $PID fi rm -f "$PIDFILE" fi ;; esac exit $?