#!/bin/bash
#
# chkconfig: - 85 15
# description: rsyncd server for mirroring our files server
# processname: rysyncd


# Source function library.
. /etc/init.d/functions

prog="rsync"
pid=/var/run/rsyncd.pid
lock=/var/lock/subsys/rsyncd

#BW_LIMIT=
BW_LIMIT=--bwlimit=1000

start() {
        echo -n $"Starting $prog: "
        if [ -e $lock ]; then
            if [ -e $pid ] && [ -e /proc/`cat $pid` ]; then
                echo -n $"cannot start $prog: $prog is already running.";
                failure $"cannot start $prog: $prog already running.";
                echo
                return 1
            fi
        fi
        daemon /usr/bin/rsync --daemon $BW_LIMIT
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch $lock;
        return $RETVAL
}

stop() {
        echo -n $"Stopping $prog: "
        if [ ! -e $lock ]; then
            echo -n $"cannot stop $prog: $prog is not running."
            failure $"cannot stop $prog: $prog is not running."
            echo
            return 1;
        fi
        killproc $prog
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f $lock;
        return $RETVAL
}

rhstatus() {
        status $prog
}

restart() {
        stop
        start
}

reload() {
        echo -n $"Reloading $prog daemon configuration: "
        killproc $prog -HUP
        RETVAL=$?
        echo
        return $RETVAL
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        restart
        ;;
  reload)
        reload
        ;;
  status)
        rhstatus
        ;;
  condrestart)
        [ -f $lock ] && restart || :
        ;;
  *)
        echo $"Usage: $0 {start|stop|status|reload|restart|condrestart}"
        exit 1
esac

