Guest
Public paste!

svnserve init script for Ubuntu

By: a guest | Mar 18th, 2010 | Syntax: Bash | Size: 2.12 KB | Hits: 311 | Expires: Never
Copy text to clipboard
  1. #! /bin/sh
  2. ### BEGIN INIT INFO
  3. # Provides:          svnserve
  4. # Required-Start:    $local_fs $syslog $remote_fs
  5. # Required-Stop:     $local_fs $syslog $remote_fs
  6. # Default-Start:     2 3 4 5
  7. # Default-Stop:      0 1 6
  8. # Short-Description: Start svnserve
  9. ### END INIT INFO
  10.  
  11. # Original author: Michal Wojciechowski <odyniec [at] odyniec [dot] net>
  12. # Modifications by: Arthur Richards <awjrichards [at] gmail [dot] com>
  13.  
  14. PATH=/sbin:/usr/sbin:/bin:/usr/bin
  15. DESC="svnserve"
  16. NAME=svnserve
  17. DAEMON=/usr/bin/$NAME
  18. PIDFILE=/var/run/$NAME.pid
  19. DAEMON_ARGS="-d -r /usr/local/svn/repos --pid-file=$PIDFILE"
  20. SCRIPTNAME=/etc/init.d/$NAME
  21.  
  22. [ -x "$DAEMON" ] || exit 0
  23.  
  24. [ -r /etc/default/$NAME ] && . /etc/default/$NAME
  25.  
  26. . /lib/init/vars.sh
  27.  
  28. . /lib/lsb/init-functions
  29.  
  30. do_start()
  31. {
  32.         start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
  33.                 || return 1
  34.         start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
  35.                 $DAEMON_ARGS \
  36.                 || return 2
  37. }
  38.  
  39. do_stop()
  40. {
  41.         start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
  42.         RETVAL="$?"
  43.         [ "$RETVAL" = 2 ] && return 2
  44.         start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
  45.         [ "$?" = 2 ] && return 2
  46.         rm -f $PIDFILE
  47.         return "$RETVAL"
  48. }
  49.  
  50. case "$1" in
  51.   start)
  52.         [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
  53.         do_start
  54.         case "$?" in
  55.                 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
  56.                 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
  57.         esac
  58.         ;;
  59.   stop)
  60.         [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
  61.         do_stop
  62.         case "$?" in
  63.                 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
  64.                 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
  65.         esac
  66.         ;;
  67.   restart|force-reload)
  68.         log_daemon_msg "Restarting $DESC" "$NAME"
  69.         do_stop
  70.         case "$?" in
  71.           0|1)
  72.                 do_start
  73.                 case "$?" in
  74.                         0) log_end_msg 0 ;;
  75.                         1) log_end_msg 1 ;; # Old process is still running
  76.                         *) log_end_msg 1 ;; # Failed to start
  77.                 esac
  78.                 ;;
  79.           *)
  80.                 # Failed to stop
  81.                 log_end_msg 1
  82.                 ;;
  83.         esac
  84.         ;;
  85.   *)
  86.         echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
  87.         exit 3
  88.         ;;
  89. esac
  90.  
  91. exit 0