#!/bin/sh

### BEGIN INIT INFO
# Provides:          watch_dog
# Required-Start:    
# Required-Stop:     
# Should-Start:
# Should-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: SEEnergy SVR watch dog
# Description:       SEEnergy SVR watch dog.
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sbin/watch_dog
DESC="watch dog"
NAME=watch_dog

#CONFFILE=/etc/watch_dog.conf
PIDFILE=/var/run/watch_dog.pid
#OPTIONS="-C $CONFFILE -i $PIDFILE"
OPTIONS="-t 5"
MAINSERVER_RUN="/etc/init.d/mainserver recover"
MAINSERVER_PID="/var/run/mainserver.pid"
MAINSERVER_KL="/tmp/Main_Server.stat"
WEBSERVER_RUN="/etc/init.d/thttpd start"
WEBSERVER_PID="/var/run/thttpd.pid"
WEBSERVER_KL="/tmp/thttpd.stat"

test -x $DAEMON || exit 0
test -f $CONFFILE || exit 1

set -e

case "$1" in
	start)
		echo -n "Starting $DESC: "
		start-stop-daemon -S -q -p $PIDFILE -x $DAEMON -- $OPTIONS -p $MAINSERVER_PID -k $MAINSERVER_KL -r "$MAINSERVER_RUN" -p $WEBSERVER_PID -k $WEBSERVER_KL -r "$WEBSERVER_RUN"
		echo "$NAME."
		;;

	start_web)
		echo -n "Starting $DESC: "
		start-stop-daemon -S -q -p $PIDFILE -x $DAEMON -- $OPTIONS -p $WEBSERVER_PID -k $WEBSERVER_KL -r "$WEBSERVER_RUN"
		echo "$NAME."
		;;

	stop)
		echo -n "Stopping $DESC: "
		start-stop-daemon -K -q -p $PIDFILE -x $DAEMON --signal 10
		echo "$NAME."
		;;

	force-stop)
		echo -n "Stopping $DESC: "
		start-stop-daemon -K -q -p $PIDFILE -x $DAEMON
		echo "$NAME."
		;;

	force-reload)
		if start-stop-daemon -K -q -p $PIDFILE -x $DAEMON --test
		then
			$0 restart
		fi
		;;

	restart)
		echo -n "Restarting $DESC: "
		start-stop-daemon -K -q -p $PIDFILE -x $DAEMON --signal 10
		sleep 1
		start-stop-daemon -S -q -p $PIDFILE -x $DAEMON -- $OPTIONS -p $MAINSERVER_PID -k $MAINSERVER_KL -r "$MAINSERVER_RUN" -p $WEBSERVER_PID -k $WEBSERVER_KL -r "$WEBSERVER_RUN"
		echo "$NAME."
		;;

	*)
		N=/etc/init.d/$NAME
		echo "Usage: $N {start|stop|force-stop|restart|force-reload}" >&2
		exit 1
		;;
esac

exit 0
