Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /bin/bash -p
- #
- # vdr start-stop script
- #
- ### BEGIN INIT INFO
- # Provides: vdr
- # Required-Start: $remote_fs $network $syslog
- # Required-Stop: $remote_fs $network $syslog
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Short-Description: Starts the Linux Video Disk Recorder (VDR)
- # Description: Starts the Linux Video Disk Recorder (VDR),
- # if it is enabled in /etc/default/vdr.
- ### END INIT INFO
- PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
- NAME=vdr
- DESC="Linux Video Disk Recorder"
- DAEMON=/usr/sbin/runvdr
- PIDFILE=/var/run/runvdr.pid
- VDRPRG=/usr/bin/vdr
- test -x $DAEMON || exit 0
- test -x $VDRPRG || exit 0
- . /usr/lib/vdr/config-loader.sh
- # Set shutdown command
- test "$ENABLE_SHUTDOWN" = "1" && VDRSHUTDOWN="/usr/lib/vdr/vdr-shutdown.wrapper" \
- || VDRSHUTDOWN=""
- . /usr/lib/vdr/plugin-loader.sh
- . /usr/lib/vdr/commands-loader.sh
- clean_console()
- {
- if [ "$KEYB_TTY" != "" ]; then
- tput -Tlinux clear > $KEYB_TTY
- fi
- }
- configure_console_input()
- {
- if [ "$KEYB_TTY" != "" ]; then
- clean_console
- echo -e "This tty is currently mapped to VDR, keypresses aren't echoed.\r" > $KEYB_TTY
- echo -n "For a login prompt switch to another console." > $KEYB_TTY
- REDIRECT="< $KEYB_TTY"
- if [ "$KEYB_TTY_SWITCH" = "1" ]; then
- chvt `echo "$KEYB_TTY" | sed "s/\/dev\/tty//"`
- fi
- fi
- }
- get_status()
- {
- if start-stop-daemon --start --startas $DAEMON --test \
- --name $(basename $DAEMON) --pidfile $PIDFILE >/dev/null
- then
- echo " - is not running."
- exit 3
- else
- echo " - is running."
- exit 0
- fi
- }
- startvdr()
- {
- if [ "$ENABLED" != "0" ] ; then
- # only start vdr if there is no other instance running
- if start-stop-daemon --start --startas $DAEMON --test \
- --name $(basename $DAEMON) --pidfile $PIDFILE >/dev/null
- then
- getplugins
- mergecommands "commands"
- mergecommands "reccmds"
- configure_console_input
- if [ -n "$LIRC" ]; then
- OPTIONS="--lirc=$LIRC $OPTIONS"
- fi
- if [ "$VFAT" == "1" ]; then
- OPTIONS="--dirname=,,1 $OPTIONS"
- fi
- if [ "$CACHE_DIR" != "" ]; then
- OPTIONS="--cachedir=$CACHE_DIR $OPTIONS"
- fi
- if [ "$RES_DIR" != "" ]; then
- OPTIONS="--resdir=$RES_DIR $OPTIONS"
- fi
- start-stop-daemon --start --quiet --startas $DAEMON --background \
- --name $(basename $DAEMON) --pidfile $PIDFILE --make-pidfile -- \
- -v $VIDEO_DIR -c $CFG_DIR -L $PLUGIN_DIR -r $REC_CMD \
- -s $VDRSHUTDOWN -E $EPG_FILE -u $USER -g /tmp \
- --port $SVDRP_PORT $OPTIONS $PLUGINS $REDIRECT
- else
- echo -n " - seems to be running already"
- fi
- else
- echo -n " - aborted (to enable the daemon, edit /etc/default/vdr)"
- fi
- }
- stopvdr()
- {
- if start-stop-daemon --stop --retry 30 \
- --name $(basename $DAEMON) --pidfile $PIDFILE >/dev/null
- then
- start-stop-daemon --stop --retry 30 --oknodo --exec $VDRPRG >/dev/null
- rm -f $PIDFILE
- clean_console
- else
- echo -n " - seems not to be running"
- fi
- }
- case "$1" in
- start)
- echo -n "Starting $DESC: $NAME"
- startvdr
- echo "."
- ;;
- stop)
- echo -n "Stopping $DESC: $NAME"
- stopvdr
- echo "."
- ;;
- restart|force-reload)
- echo -n "Restarting $DESC: $NAME"
- stopvdr
- sleep 4
- startvdr
- echo "."
- ;;
- status)
- echo -n "Getting status of $DESC: $NAME"
- get_status
- ;;
- *)
- N=/etc/init.d/$NAME
- echo "Usage: $N {start|stop|restart|force-reload}" >&2
- exit 1
- ;;
- esac
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement