Infosatepg.sh
Aus VDR Wiki
(Unterschied zwischen Versionen)
Zeile 9: | Zeile 9: | ||
# folgende zeilen in die commands.conf eintragen: | # folgende zeilen in die commands.conf eintragen: | ||
# | # | ||
− | # Run infosatepg : echo "/ | + | # Run infosatepg : echo "/path_to_this_script/infosatepg.sh" | at now |
− | # Run infosatepg + tvmovie2vdr : echo "/ | + | # Run infosatepg + tvmovie2vdr : echo "/path_to_this_script/infosatepg.sh -tvmovie2vdr" | at now |
+ | # View logfile : /path_to_this_script/infosatepg.sh -log | ||
# | # | ||
# Edit the config.pl: | # Edit the config.pl: | ||
# | # | ||
# - our $infosaturl="/video/received_data"; | # - our $infosaturl="/video/received_data"; | ||
− | # + our $infosaturl=" | + | # + our $infosaturl="$INSTALLPREFIX/cache/infosatepg"; |
# CONFIG START | # CONFIG START | ||
− | INFOSAT_OPT="-v" | + | INFOSAT_OPT="-v" # options |
− | CHANNEL="VIVA" | + | CHANNEL="VIVA" # which channel, e.g: <NUM> or <NAME> |
− | SHOWSTATUS="1" | + | SHOWSTATUS="1" # show status (1=true/0=false) |
− | INFOSAT_OUT="/usr/local/cache/infosatepg" | + | INFOSAT_OUT="/usr/local/cache/infosatepg" # store infosatepg in |
− | + | INFOSAT_LOG="/var/log/vdr/infosatepg.log" # logfile | |
# CONFIG END | # CONFIG END | ||
− | PATH=/usr/local/bin:$PATH | + | PATH=/usr/local/bin:$PATH:$PREFIX/bin |
− | if [ - | + | case $1 in |
− | + | -log) | |
− | + | if [ -s $INFOSAT_LOG ] ; then | |
− | + | tail -n 10 $INFOSAT_LOG | tr -d '#_' | |
− | + | else | |
− | + | echo "$INFOSAT_LOG not exist or empty..." | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
fi | fi | ||
− | wait $PID; kill $! | + | ;; |
− | + | *) | |
− | + | if [ -n "$(pidof infosatepg)" ] ; then | |
− | + | svdrpsend.pl MESG "infosatepg is already running..." | |
− | + | else | |
− | + | if [ "$(svdrpsend.pl CHAN $CHANNEL | grep -c '^250.*')" -eq 0 ] ; then | |
− | + | svdrpsend.pl MESG "switch to $CHANNEL failed..." | |
− | + | else | |
− | + | mkdir -p $INFOSAT_OUT | |
− | fi \ | + | infosatepg $INFOSAT_OPT -o $INFOSAT_OUT > $INFOSAT_LOG & |
− | >/dev/null 2>&1 | + | PID=$! |
+ | if [ "$SHOWSTATUS" -eq 1 ] ; then | ||
+ | sh -c "until ! ps -p $PID; do sleep 30s; svdrpsend.pl MESG \"\$(grep -s [0-9]% $INFOSAT_LOG | tail -n 1)\"; done" & | ||
+ | fi | ||
+ | wait $PID; kill $! | ||
+ | svdrpsend.pl MESG "$(tail -n 1 $INFOSAT_LOG)..." | ||
+ | sleep 1s | ||
+ | svdrpsend.pl HITK 0 | ||
+ | if [ -n "$1" -a -n "$(which tvmovie2vdr)" ] ; then | ||
+ | tvmovie2vdr -start | ||
+ | fi | ||
+ | fi | ||
+ | fi \ | ||
+ | >/dev/null 2>&1 | ||
+ | ;; | ||
+ | esac | ||
</pre> | </pre> | ||
[[Kategorie:Scripts]] | [[Kategorie:Scripts]] |
Version vom 16. April 2005, 09:14 Uhr
#!/bin/sh # # infosatepg.sh # # Required: ps, svdrpsend.pl, infosatepg, tvm2vdr.pl (optional) # # add this lines to your commands.conf: # folgende zeilen in die commands.conf eintragen: # # Run infosatepg : echo "/path_to_this_script/infosatepg.sh" | at now # Run infosatepg + tvmovie2vdr : echo "/path_to_this_script/infosatepg.sh -tvmovie2vdr" | at now # View logfile : /path_to_this_script/infosatepg.sh -log # # Edit the config.pl: # # - our $infosaturl="/video/received_data"; # + our $infosaturl="$INSTALLPREFIX/cache/infosatepg"; # CONFIG START INFOSAT_OPT="-v" # options CHANNEL="VIVA" # which channel, e.g: <NUM> or <NAME> SHOWSTATUS="1" # show status (1=true/0=false) INFOSAT_OUT="/usr/local/cache/infosatepg" # store infosatepg in INFOSAT_LOG="/var/log/vdr/infosatepg.log" # logfile # CONFIG END PATH=/usr/local/bin:$PATH:$PREFIX/bin case $1 in -log) if [ -s $INFOSAT_LOG ] ; then tail -n 10 $INFOSAT_LOG | tr -d '#_' else echo "$INFOSAT_LOG not exist or empty..." fi ;; *) if [ -n "$(pidof infosatepg)" ] ; then svdrpsend.pl MESG "infosatepg is already running..." else if [ "$(svdrpsend.pl CHAN $CHANNEL | grep -c '^250.*')" -eq 0 ] ; then svdrpsend.pl MESG "switch to $CHANNEL failed..." else mkdir -p $INFOSAT_OUT infosatepg $INFOSAT_OPT -o $INFOSAT_OUT > $INFOSAT_LOG & PID=$! if [ "$SHOWSTATUS" -eq 1 ] ; then sh -c "until ! ps -p $PID; do sleep 30s; svdrpsend.pl MESG \"\$(grep -s [0-9]% $INFOSAT_LOG | tail -n 1)\"; done" & fi wait $PID; kill $! svdrpsend.pl MESG "$(tail -n 1 $INFOSAT_LOG)..." sleep 1s svdrpsend.pl HITK 0 if [ -n "$1" -a -n "$(which tvmovie2vdr)" ] ; then tvmovie2vdr -start fi fi fi \ >/dev/null 2>&1 ;; esac