Noad.sh

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
Zeile 27: Zeile 27:
 
case "$1" in
 
case "$1" in
 
     -start)
 
     -start)
echo $"Recording" ...
 
echo
 
echo "$2"
 
echo
 
if [ -s "${PIDFILE:=$2/noad.pid}" ] ; then
 
    read PID < "$PIDFILE"
 
    if ps -p $PID >/dev/null 2>&1 ; then
 
echo $"Noad process already active" "(pid: $PID)" ...
 
exit 0
 
    fi
 
fi
 
 
if pidof atd >/dev/null ; then
 
if pidof atd >/dev/null ; then
 +
    echo $"Recording" ...
 +
    echo
 +
    echo "$2"
 +
    echo
 +
    if [ -s "${PIDFILE:=$2/noad.pid}" ] ; then
 +
read PID < "$PIDFILE"
 +
if ps -p $PID >/dev/null 2>&1 ; then
 +
    echo $"Noad process already active" "(pid: $PID)" ...
 +
    exit 0
 +
fi
 +
    fi
 
    echo "noad $NOADOPTS \"$2\" >/dev/null 2>&1" | at now
 
    echo "noad $NOADOPTS \"$2\" >/dev/null 2>&1" | at now
 
    echo $"Noad startet" ...
 
    echo $"Noad startet" ...

Version vom 10. Januar 2006, 16:23 Uhr

Script von noad.

Datei
$PATH/noad.sh
#!/bin/bash
#
# noad.sh
#
# source: noad
#
# add this lines to your reccmds.conf:
# folgende zeilen in die reccmds.conf eintragen:
#
# Run noad                          : /path_to_this_script/noad.sh -start
# Run noad, all recordings (batch)? : /path_to_this_script/noad.sh -batch
# In prozess                        : /path_to_this_script/noad.sh -count
# Stop noad (killpid)               : /path_to_this_script/noad.sh -killpid
# Stop noad (killall)?              : /path_to_this_script/noad.sh -killall
# Remove marks                      : /path_to_this_script/noad.sh -rmmarks
# Remove all marks?                 : /path_to_this_script/noad.sh -rmallmarks

# CONFIG START
  NOADOPTS="nice --background --ac3 --overlap --jumplogo --comments --OSD --statisticfile=/var/log/vdr/noad.log"
  VDR_VIDEO="/video0"
# CONFIG END

case "$1" in
    -start)
	if pidof atd >/dev/null ; then
	    echo $"Recording" ...
	    echo
	    echo "$2"
	    echo
	    if [ -s "${PIDFILE:=$2/noad.pid}" ] ; then
		read PID < "$PIDFILE"
		if ps -p $PID >/dev/null 2>&1 ; then
		    echo $"Noad process already active" "(pid: $PID)" ...
		    exit 0
		fi
	    fi
	    echo "noad $NOADOPTS \"$2\" >/dev/null 2>&1" | at now
	    echo $"Noad startet" ...
	else
	    echo $"Jobmanager (atd) is not running" ...
	fi
	;;
    -batch)
	if pidof atd >/dev/null ; then
	    while read i ; do
		echo "noad $NOADOPTS \"$i\" >/dev/null 2>&1"
		echo "while pidof noad >/dev/null ; do sleep 10s ; done"
	    done < <(find "$VDR_VIDEO" -follow -name "*.rec") | at now
	else
	    echo $"Jobmanager (atd) is not running" ...
	fi
	;;
    -count)
	echo $"Noad processes" $(pidof noad | wc -w | tr -d ' ') ...
	;;
    -killpid)
	echo $"Recording" ...
	echo
	echo "$2"
	echo
	if [ -s "${PIDFILE:=$2/noad.pid}" ] ; then
	    read PID < "$PIDFILE"
	    if ps -p $PID >/dev/null 2>&1 ; then
		kill $PID
		echo $"Noad stopped" "(pid: $PID)" ...
		exit 0
	    fi
	fi
	echo $"Noad is not active" ...
	;;
    -killall)
	pidof noad | xargs -r kill
	;;
    -rmmarks)
	rm -f "$2/marks.vdr"
	;;
    -rmallmarks)
	find "$VDR_VIDEO" -follow -type f -name marks.vdr -print0 2>/dev/null | xargs -r0 rm
	;;
    *)
	echo "unrecognized option: $1"
	exit 1
	;;
esac