home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2007 September / PCWSEP07.iso / Software / Linux / Linux Mint 3.0 Light / LinuxMint-3.0-Light.iso / casper / filesystem.squashfs / etc / init.d / rsync < prev    next >
Encoding:
Text File  |  2006-12-20  |  4.0 KB  |  124 lines

  1. #! /bin/sh
  2.  
  3. ### BEGIN INIT INFO
  4. # Provides:          rsyncd
  5. # Required-Start:    $network
  6. # Required-Stop:     $syslog
  7. # Should-Start:      $named $syslog
  8. # Should-Stop:       $syslog network
  9. # Default-Start:     2 3 4 5
  10. # Default-Stop:      0 1 6
  11. # Short-Description: fast remote file copy program daemon
  12. # Description:       rsync is a program that allows files to be copied to and
  13. #                    from remote machines in much the same way as rcp.
  14. #                    This provides rsyncd daemon functionality.
  15. ### END INIT INFO
  16.  
  17. set -e
  18.  
  19. # /etc/init.d/rsync: start and stop the rsync daemon
  20.  
  21. DAEMON=/usr/bin/rsync
  22. RSYNC_ENABLE=false
  23. RSYNC_OPTS=''
  24. RSYNC_DEFAULTS_FILE=/etc/default/rsync
  25. RSYNC_CONFIG_FILE=/etc/rsyncd.conf
  26. RSYNC_NICE_PARM=''
  27.  
  28. test -x $DAEMON || exit 0
  29.  
  30. . /lib/lsb/init-functions
  31. . /etc/default/rcS
  32.  
  33. if [ -s $RSYNC_DEFAULTS_FILE ]; then
  34.     . $RSYNC_DEFAULTS_FILE
  35.     case "x$RSYNC_ENABLE" in
  36.         xtrue|xfalse)   ;;
  37.         xinetd)         exit 0
  38.                         ;;
  39.         *)              log_failure_msg "Value of RSYNC_ENABLE in $RSYNC_DEFAULTS_FILE must be either 'true' or 'false';"
  40.                         log_failure_msg "not starting rsync daemon."
  41.                         exit 1
  42.                         ;;
  43.     esac
  44.     case "x$RSYNC_NICE" in
  45.         x[0-9])         RSYNC_NICE_PARM="--nicelevel $RSYNC_NICE";;
  46.         x[1-9][0-9])    RSYNC_NICE_PARM="--nicelevel $RSYNC_NICE";;
  47.         x)              ;;
  48.         *)              log_warning_msg "Value of RSYNC_NICE in $RSYNC_DEFAULTS_FILE must be a value between 0 and 19 (inclusive);"
  49.                         log_warning_msg "ignoring RSYNC_NICE now."
  50.                         ;;
  51.     esac
  52. fi
  53.  
  54. export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
  55.  
  56. case "$1" in
  57.   start)
  58.     if "$RSYNC_ENABLE"; then
  59.             log_daemon_msg "Starting rsync daemon" "rsync"
  60.         if [ -s /var/run/rsync.pid ] && kill -0 $(cat /var/run/rsync.pid) >/dev/null 2>&1; then
  61.                 log_progress_msg "apparently already running"
  62.                 log_end_msg 0
  63.         exit 0
  64.         fi
  65.             if [ ! -s "$RSYNC_CONFIG_FILE" ]; then
  66.                 log_failure_msg "missing or empty config file $RSYNC_CONFIG_FILE"
  67.         log_end_msg 1
  68.                 exit 1
  69.             fi
  70.             start-stop-daemon --start --quiet --background \
  71.                 --pidfile /var/run/rsync.pid --make-pidfile \
  72.                 $RSYNC_NICE_PARM --exec /usr/bin/rsync \
  73.                 -- --no-detach --daemon --config "$RSYNC_CONFIG_FILE" $RSYNC_OPTS
  74.             log_end_msg $?
  75.         else
  76.             if [ -s "$RSYNC_CONFIG_FILE" ]; then
  77.         [ "$VERBOSE" != no ] && log_warning_msg "rsync daemon not enabled in /etc/default/rsync, not starting..."
  78.             fi
  79.         fi
  80.     ;;
  81.   stop)
  82.         log_daemon_msg "Stopping rsync daemon" "rsync"
  83.     start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/rsync.pid
  84.         log_end_msg $?
  85.     rm -f /var/run/rsync.pid
  86.     ;;
  87.  
  88.   reload|force-reload)
  89.         log_warning_msg "Reloading rsync daemon: not needed, as the daemon"
  90.         log_warning_msg "re-reads the config file whenever a client connects."
  91.     ;;
  92.  
  93.   restart)
  94.     set +e
  95.         if $RSYNC_ENABLE; then
  96.             log_daemon_msg "Restarting rsync daemon" "rsync"
  97.         if [ -s /var/run/rsync.pid ] && kill -0 $(cat /var/run/rsync.pid) >/dev/null 2>&1; then
  98.         start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/rsync.pid || true
  99.         sleep 1
  100.         else
  101.             rm -f /var/run/rsync.pid
  102.         fi
  103.             if start-stop-daemon --start --quiet --background \
  104.                 --pidfile /var/run/rsync.pid --make-pidfile \
  105.                 $RSYNC_NICE_PARM --exec /usr/bin/rsync \
  106.                 -- --no-detach --daemon --config "$RSYNC_CONFIG_FILE" $RSYNC_OPTS
  107.             then
  108.                 log_end_msg 0
  109.             else
  110.                 log_end_msg 1
  111.                 rm -f /var/run/rsync.pid
  112.             fi
  113.         else
  114.             [ "$VERBOSE" != no ] && log_warning_msg "rsync daemon not enabled in /etc/default/rsync, not starting..."
  115.         fi
  116.     ;;
  117.  
  118.   *)
  119.     echo "Usage: /etc/init.d/rsync {start|stop|reload|force-reload|restart}"
  120.     exit 1
  121. esac
  122.  
  123. exit 0
  124.