先要编写看门狗程序program.sh,内容如:
#!/bin/bash
#注:本脚本需要以超级用户身份运行。
# 监测的时间间隔,秒计
INTERVAL=60
# 重启时间间隔
INTERVALRESTART=1
#==================================================================
PROGRAME=program
THREADNUMS=1
LOG=/apps/server/monitor.log
#SYSDATE=$(date)
SYSBUILD=`/bin/cat /etc/redhat-release | /bin/awk '{print $5$7}'`
var="-emf"
case ${SYSBUILD} in
"7.3")
var="-e"
;;
"8.0")
var="-em"
;;
"AS3")
var="-emf"
;;
esac
while true
do
SYSDATE=$(date)
nowps1=`ps $var | grep $PROGRAME | grep -v grep | wc -l`
nowps1=`expr $nowps1`
if [ $nowps1 -lt $THREADNUMS ]; then
/bin/sh /apps/program.sh
echo " " >> $LOG
echo "*******************************************************" >> $LOG
echo "Restart time:" $SYSDATE >> $LOG
echo "---------- Program $PROGRAME restart ----------------" >> $LOG
echo "*******************************************************" >> $LOG
echo " "
fi
sleep $INTERVAL
done
#-----------------------------------------------------------
exit 0
在文件/etc/rc.local在其中增加一个启动项,即在文件末尾增加一条可执行语句(如:/bin/sh /apps/program.sh)
看门狗制作完毕。
|