Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2014
512
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.02 KB | None | 0 0
  1. #! /bin/bash -p
  2. #
  3. # vdr start-stop script
  4. #
  5. ### BEGIN INIT INFO
  6. # Provides: vdr
  7. # Required-Start: $remote_fs $network $syslog
  8. # Required-Stop: $remote_fs $network $syslog
  9. # Default-Start: 2 3 4 5
  10. # Default-Stop: 0 1 6
  11. # Short-Description: Starts the Linux Video Disk Recorder (VDR)
  12. # Description: Starts the Linux Video Disk Recorder (VDR),
  13. # if it is enabled in /etc/default/vdr.
  14. ### END INIT INFO
  15.  
  16. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  17. NAME=vdr
  18. DESC="Linux Video Disk Recorder"
  19.  
  20. DAEMON=/usr/sbin/runvdr
  21. PIDFILE=/var/run/runvdr.pid
  22. VDRPRG=/usr/bin/vdr
  23.  
  24. test -x $DAEMON || exit 0
  25. test -x $VDRPRG || exit 0
  26.  
  27. . /usr/lib/vdr/config-loader.sh
  28.  
  29. # Set shutdown command
  30. test "$ENABLE_SHUTDOWN" = "1" && VDRSHUTDOWN="/usr/lib/vdr/vdr-shutdown.wrapper" \
  31. || VDRSHUTDOWN=""
  32.  
  33. . /usr/lib/vdr/plugin-loader.sh
  34. . /usr/lib/vdr/commands-loader.sh
  35.  
  36.  
  37. clean_console()
  38. {
  39. if [ "$KEYB_TTY" != "" ]; then
  40. tput -Tlinux clear > $KEYB_TTY
  41. fi
  42. }
  43.  
  44. configure_console_input()
  45. {
  46. if [ "$KEYB_TTY" != "" ]; then
  47. clean_console
  48. echo -e "This tty is currently mapped to VDR, keypresses aren't echoed.\r" > $KEYB_TTY
  49. echo -n "For a login prompt switch to another console." > $KEYB_TTY
  50. REDIRECT="< $KEYB_TTY"
  51. if [ "$KEYB_TTY_SWITCH" = "1" ]; then
  52. chvt `echo "$KEYB_TTY" | sed "s/\/dev\/tty//"`
  53. fi
  54. fi
  55. }
  56.  
  57. get_status()
  58. {
  59. if start-stop-daemon --start --startas $DAEMON --test \
  60. --name $(basename $DAEMON) --pidfile $PIDFILE >/dev/null
  61. then
  62. echo " - is not running."
  63. exit 3
  64. else
  65. echo " - is running."
  66. exit 0
  67. fi
  68. }
  69.  
  70. startvdr()
  71. {
  72. if [ "$ENABLED" != "0" ] ; then
  73. # only start vdr if there is no other instance running
  74. if start-stop-daemon --start --startas $DAEMON --test \
  75. --name $(basename $DAEMON) --pidfile $PIDFILE >/dev/null
  76. then
  77. getplugins
  78. mergecommands "commands"
  79. mergecommands "reccmds"
  80. configure_console_input
  81.  
  82. if [ -n "$LIRC" ]; then
  83. OPTIONS="--lirc=$LIRC $OPTIONS"
  84. fi
  85. if [ "$VFAT" == "1" ]; then
  86. OPTIONS="--dirname=,,1 $OPTIONS"
  87. fi
  88. if [ "$CACHE_DIR" != "" ]; then
  89. OPTIONS="--cachedir=$CACHE_DIR $OPTIONS"
  90. fi
  91. if [ "$RES_DIR" != "" ]; then
  92. OPTIONS="--resdir=$RES_DIR $OPTIONS"
  93. fi
  94.  
  95. start-stop-daemon --start --quiet --startas $DAEMON --background \
  96. --name $(basename $DAEMON) --pidfile $PIDFILE --make-pidfile -- \
  97. -v $VIDEO_DIR -c $CFG_DIR -L $PLUGIN_DIR -r $REC_CMD \
  98. -s $VDRSHUTDOWN -E $EPG_FILE -u $USER -g /tmp \
  99. --port $SVDRP_PORT $OPTIONS $PLUGINS $REDIRECT
  100. else
  101. echo -n " - seems to be running already"
  102. fi
  103. else
  104. echo -n " - aborted (to enable the daemon, edit /etc/default/vdr)"
  105. fi
  106. }
  107.  
  108. stopvdr()
  109. {
  110. if start-stop-daemon --stop --retry 30 \
  111. --name $(basename $DAEMON) --pidfile $PIDFILE >/dev/null
  112. then
  113. start-stop-daemon --stop --retry 30 --oknodo --exec $VDRPRG >/dev/null
  114. rm -f $PIDFILE
  115. clean_console
  116. else
  117. echo -n " - seems not to be running"
  118. fi
  119. }
  120.  
  121. case "$1" in
  122. start)
  123. echo -n "Starting $DESC: $NAME"
  124. startvdr
  125. echo "."
  126. ;;
  127. stop)
  128. echo -n "Stopping $DESC: $NAME"
  129. stopvdr
  130. echo "."
  131. ;;
  132. restart|force-reload)
  133. echo -n "Restarting $DESC: $NAME"
  134. stopvdr
  135. sleep 4
  136. startvdr
  137. echo "."
  138. ;;
  139. status)
  140. echo -n "Getting status of $DESC: $NAME"
  141. get_status
  142. ;;
  143. *)
  144. N=/etc/init.d/$NAME
  145. echo "Usage: $N {start|stop|restart|force-reload}" >&2
  146. exit 1
  147. ;;
  148. esac
  149.  
  150. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement