#!/bin/bash
SECONDES=$1;
SCRIPT_DIR="/opt/watchdog/script.d"
LOG_FILE="/tmp/watchdog.log"

while [ $SECONDES ]
do
	checked=0;
	ok=0;
	restarted=0;
	down=0;

        date=$(date +"%Y-%m-%d_%T=%s")

	for script in $(ls $SCRIPT_DIR)
	do
		cmd=$SCRIPT_DIR/$script
                output=$(${cmd} test)
	
		if [[ $? -eq 0 ]]
		then
                        echo "OK   - Service $script"
			(( ok++ ))
		else  #ERROR
                        echo "FAIL - service $script $output"

			methods=$(${cmd} rescue 0)	
			for method in  `seq 1 $methods`
			do
				${cmd} rescue $method && ${cmd} test && break
			done

			if [[ $? -eq 0 ]]
			then 
				(( restarted++ ))
			else
				 (( down++ ))
			fi
		fi
               (( checked++ ))
	done
	echo "DATE:$date CHECKED:$checked OK:$ok RESTARTED:$restarted DOWN:$down NEXT:$SECONDES" |tee $LOG_FILE
	echo
	sleep $SECONDES
done
