X-Git-Url: http://gitweb/?a=blobdiff_plain;f=rsync%2Frsyncd;h=bd2e8b23fec832a0028a35b8d25ad1ce4fbcc511;hb=912203a67bfd30143cdd00bd41b4006a99b467bc;hp=850721119b17de80edfb1750e3b36ea05927edc0;hpb=5d6d95a304d7a4d5f6ca1bcb3a704f247478cb2f;p=crossrootfs.git diff --git a/rsync/rsyncd b/rsync/rsyncd index 8507211..bd2e8b2 100644 --- a/rsync/rsyncd +++ b/rsync/rsyncd @@ -3,20 +3,33 @@ # /etc/rc.d/rsyncd: start/stop rsyncd daemon # +SSD=/sbin/start-stop-daemon +PROG=/usr/bin/rsync +PID=/var/run/rsyncd.pid +OPTS="--daemon" + case $1 in start) - /usr/bin/rsync --daemon + $SSD --start --pidfile $PID --exec $PROG -- $OPTS ;; stop) - kill `cat /var/run/rsyncd.pid` + $SSD --stop --retry 10 --pidfile $PID ;; restart) $0 stop - sleep 2 $0 start ;; +status) + $SSD --status --pidfile $PID + case $? in + 0) echo "$PROG is running with pid $(cat $PID)" ;; + 1) echo "$PROG is not running but the pid file $PID exists" ;; + 3) echo "$PROG is not running" ;; + 4) echo "Unable to determine the program status" ;; + esac + ;; *) - echo "usage: $0 [start|stop|restart]" + echo "usage: $0 [start|stop|restart|status]" ;; esac