#!/bin/bash
### BEGIN INIT INFO
# Provides:          watchdog
# Required-Start:    $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Watchdog initscript
### END INIT INFO

DAEMON="/usr/local/esia/watchdog/watchdog" #ligne de commande du programme
DAEMON_ARGS="120"
DAEMONUSER="root" #utilisateur du programme
NAME="watchdog" #Nom du programme (doit être identique à l'exécutable)
PIDFILE=/var/run/$daemon_NAME.pid

LOGFILE=/var/log/esia/watchdog.log
NB_LOOP=3


PATH="/sbin:/bin:/usr/sbin:/usr/bin" #Ne pas toucher

test -x $DAEMON || exit 0

. /lib/lsb/init-functions

do_logrotate()
{
        FILE=$LOGFILE
        for i in `seq $NB_LOOP -1 1`
        do
                let "j=i-1"
                if [ -f "$FILE$j" ]; then
                        mv "$FILE$j" "$FILE$i"
                fi
        done
        #cp --preserve $FILE ${FILE}1
        if [ -f $FILE ]; then
                mv $FILE ${FILE}1
        fi
}

d_start () {
	do_logrotate
        log_daemon_msg "Starting system $daemon_NAME Daemon"
        start-stop-daemon --start --quiet -b --make-pidfile --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
        && start-stop-daemon --start --quiet -b --make-pidfile --pidfile $PIDFILE --exec $DAEMON --name $NAME -- $DAEMON_ARGS
        log_end_msg $?
}

d_stop () {
        log_daemon_msg "Stopping system $daemon_NAME Daemon"
        start-stop-daemon --stop --quiet --pidfile $PIDFILE --name $NAME \
        || start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON \
        && rm $PIDFILE
        log_end_msg $?
}

case "$1" in

        start|stop)
                d_${1}
                ;;

        restart|reload|force-reload)
                        d_stop
                        d_start
                ;;

        force-stop)
               d_stop
                killall -q $daemon_NAME || true
                sleep 2
                killall -q -9 $daemon_NAME || true
                ;;

        status)
                status_of_proc "$daemon_NAME" "$DAEMON" "system-wide $daemon_NAME" && exit 0 || exit $?
                ;;
        *)
                echo "Usage: /etc/init.d/$daemon_NAME {start|stop|force-stop|restart|reload|force-reload|status}"
                exit 1
                ;;
esac
exit 0
