home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / etc / init.d / rsync < prev    next >
Encoding:
Text File  |  2006-07-20  |  3.3 KB  |  104 lines

  1. #! /bin/sh
  2. set -e
  3.  
  4. # /etc/init.d/rsync: start and stop the rsync daemon
  5.  
  6. DAEMON=/usr/bin/rsync
  7. RSYNC_ENABLE=false
  8. RSYNC_OPTS=''
  9. RSYNC_DEFAULTS_FILE=/etc/default/rsync
  10. RSYNC_CONFIG_FILE=/etc/rsyncd.conf
  11. RSYNC_NICE_PARM=''
  12.  
  13. test -x $DAEMON || exit 0
  14.  
  15. . /lib/lsb/init-functions
  16. . /etc/default/rcS
  17.  
  18. if [ -s $RSYNC_DEFAULTS_FILE ]; then
  19.     . $RSYNC_DEFAULTS_FILE
  20.     case "x$RSYNC_ENABLE" in
  21.         xtrue|xfalse)   ;;
  22.         xinetd)         exit 0
  23.                         ;;
  24.         *)              log_failure_msg "Value of RSYNC_ENABLE in $RSYNC_DEFAULTS_FILE must be either 'true' or 'false';"
  25.                         log_failure_msg "not starting rsync daemon."
  26.                         exit 1
  27.                         ;;
  28.     esac
  29.     case "x$RSYNC_NICE" in
  30.         x[0-9])         RSYNC_NICE_PARM="--nicelevel $RSYNC_NICE";;
  31.         x[1-9][0-9])    RSYNC_NICE_PARM="--nicelevel $RSYNC_NICE";;
  32.         x)              ;;
  33.         *)              echo "Value of RSYNC_NICE in $RSYNC_DEFAULTS_FILE must be a value"
  34.                         echo "between 0 and 19 (inclusive); ignoring RSYNC_NICE now."
  35.                         ;;
  36.     esac
  37. fi
  38.  
  39. export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
  40.  
  41. case "$1" in
  42.   start)
  43.     if "$RSYNC_ENABLE"; then
  44.             log_begin_msg "Starting rsync daemon: rsync"
  45.         if [ -s /var/run/rsync.pid ] && kill -0 $(cat /var/run/rsync.pid) >/dev/null 2>&1; then
  46.         exit 0
  47.         fi
  48.             if [ ! -s "$RSYNC_CONFIG_FILE" ]; then
  49.                 log_failure_msg " missing or empty config file $RSYNC_CONFIG_FILE"
  50.         log_end_msg 1
  51.                 exit 1
  52.             fi
  53.             start-stop-daemon --start --quiet --background \
  54.                 --pidfile /var/run/rsync.pid --make-pidfile \
  55.                 $RSYNC_NICE_PARM --exec /usr/bin/rsync \
  56.                 -- --no-detach --daemon --config "$RSYNC_CONFIG_FILE" $RSYNC_OPTS
  57.             log_end_msg $?
  58.         else
  59.             if [ -s "$RSYNC_CONFIG_FILE" ]; then
  60.                 echo "rsync daemon not enabled in /etc/default/rsync"
  61.         [ "$VERBOSE" != no ] && log_success_msg "rsync daemon not enabled in /etc/default/rsync, not starting..."
  62.             fi
  63.         fi
  64.     ;;
  65.   stop)
  66.         log_begin_msg "Stopping rsync daemon: rsync"
  67.     start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/rsync.pid
  68.         log_end_msg $?
  69.     rm -f /var/run/rsync.pid
  70.     ;;
  71.  
  72.   reload|force-reload)
  73.         log_warning_msg "Reloading rsync daemon: not needed, as the daemon"
  74.         log_warning_msg "re-reads the config file whenever a client connects."
  75.     ;;
  76.  
  77.   restart)
  78.     set +e
  79.         if $RSYNC_ENABLE; then
  80.             log_begin_msg "Restarting rsync daemon: rsync"
  81.         if [ -s /var/run/rsync.pid ] && kill -0 $(cat /var/run/rsync.pid) >/dev/null 2>&1; then
  82.         start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/rsync.pid || true
  83.         sleep 1
  84.         else
  85.             rm -f /var/run/rsync.pid
  86.         fi
  87.             start-stop-daemon --start --quiet --background \
  88.                 --pidfile /var/run/rsync.pid --make-pidfile \
  89.                 $RSYNC_NICE_PARM --exec /usr/bin/rsync \
  90.                 -- --no-detach --daemon --config "$RSYNC_CONFIG_FILE" $RSYNC_OPTS
  91.         log_end_msg $?
  92.         rm -f /var/run/rsync.pid
  93.         else
  94.             [ "$VERBOSE" != no ] && log_success_msg "rsync daemon not enabled in /etc/default/rsync, not starting..."
  95.         fi
  96.     ;;
  97.  
  98.   *)
  99.     echo "Usage: /etc/init.d/rsync {start|stop|reload|force-reload|restart}"
  100.     exit 1
  101. esac
  102.  
  103. exit 0
  104.