Clipinc.sh
Aus VDR Wiki
		(Unterschied zwischen Versionen)
		
		
 (M)  | 
			|||
| (31 dazwischenliegende Versionen von 25 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  | |
| − | + | #  | |
| − | + | # 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)  |       -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 $?  | ||
| + | </pre>  | ||
| + | }}  | ||
| + | |||
| + | ==Quellen==  | ||
| + | * [[clipinc]]  | ||
| − | [[Kategorie:  | + | [[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 $?