#!/bin/sh PATH=$PATH:/usr/bin:/usr/sbin:/usr/local/bin:/bin:/sbin UNIX95=YES; export UNIX95 DATE_CMD=/usr/bin/date AGENT_PATH=/home/NGFAgent export AGENT_PATH AGENT_NAME="$AGENT_PATH/bin/NGFAgent.exe" WATCHDOG_NAME="$AGENT_PATH/bin/INWatchDog.exe" MODE=$1 AGENT_CONF_FILE=$AGENT_PATH/conf/agent.conf export AGENT_CONF_FILE LD_LIBRARY_PATH=$AGENT_PATH/modules:$AGENT_PATH/watch_lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH export LIBPATH=$LD_LIBRARY_PATH:$LIBPATH if [ "$MODE" = "-v" ] then $AGENT_PATH/bin/NGFAgent.exe -v exit fi if [ "$MODE" = "-update" ] then UPCNT=1 STOP_MODE=0 ICMP_MODE=0 VCNT=`ps -ef | grep $WATCHDOG_NAME | egrep -v "grep|stop|cron|update" | wc -l | awk '{print $1}'` if [ "$VCNT" = "1" ] then PID=`ps -ef | grep $WATCHDOG_NAME | egrep -v "grep|update|stop|cron" | awk '{ print $2 }'` kill $PID $AGENT_PATH/bin/INWatchDog.exe stop STOP_MODE=1 fi ICMPCNT=`ps -ef | grep "$AGENT_PATH/bin/OnmIcmp" | egrep -v "grep" | wc -l | awk '{print $1}'` if [ "$ICMPCNT" = "1" ] then PID=`ps -ef | grep "$AGENT_PATH/bin/OnmIcmp" | egrep -v "grep" | awk '{ print $2 }'` ICMP_MODE=1 $AGENT_PATH/bin/INWatchDog.exe update $PID else $AGENT_PATH/bin/INWatchDog.exe update -1 fi while [ "$UPCNT" = "1" ] do sleep 5 UPCNT=`ps -ef | grep "$WATCHDOG_NAME update" | egrep -v "grep" | wc -l | awk '{ print $1 }'` done if [ "$STOP_MODE" = "1" ] then VCNT=`ps -ef | grep "$WATCHDOG_NAME stop" | egrep -v "grep|cron|update" | wc -l | awk '{print $1}'` if [ "$VCNT" = "1" ] then PID=`ps -ef | grep $WATCHDOG_NAME | egrep -v "grep" | awk '{ print $2 }'` kill $PID nohup $AGENT_PATH/bin/INWatchDog.exe 1> /dev/null 2>&1 & fi fi if [ "$ICMP_MODE" = "1" ] then ICMPCNT=`ps -ef | grep "$AGENT_PATH/bin/OnmIcmp" | egrep -v "grep" | wc -l | awk '{print $1}'` if [ "$ICMPCNT" = "0" ] then $AGENT_PATH/bin/chkIcmp.sh 1> /dev/null fi fi exit fi CNT=`ps -ef | grep $WATCHDOG_NAME | egrep -v "grep" | wc -l | awk '{print $1}'` if [ "$CNT" = "0" ] then echo "---------------------" $DATE_CMD echo " INWatchDog started!!" echo "---------------------" echo $AGENT_PATH/bin/INWatchDog.exe elif [ "$CNT" = "1" ] then CNT=`ps -ef | grep $AGENT_NAME | egrep -v "grep" | wc -l | awk '{print $1}'` CHK_MODE=`ps -ef | grep $WATCHDOG_NAME | egrep -v "grep" | awk '{print $9}'` if [ "$MODE" = "cron" ] then if [ "$CHK_MODE" = "stop" ] then exit fi fi if [ "$CNT" = "0" ] then PID=`ps -ef | grep $WATCHDOG_NAME | egrep -v "grep" | awk '{ print $2 }'` kill $PID echo "---------------------" $DATE_CMD echo " INWatchDog Restart!!" echo "---------------------" echo $AGENT_PATH/bin/INWatchDog.exe fi fi