内部自己开发的服务应用程序 ,经常会由各种Bug宕掉,所以写了个监控脚本
代码如下:
#!/bin/bash
echo "ProcessGroud is Start $(date)"
while :
do
TRADEPORT=$(netstat -antp |grep 0.0.0.0:8888 |awk '{print $6}')
if [ "$TRADEPORT" == "LISTEN" ]
then
echo "." 1>/dev/null 2>&1
else
echo "8888 port is Down" 1>/dev/null 2>&1
echo "$(date)" >>/var/log/tarde/process.log
echo "$(netstat -antp|grep 8888)" >>/var/log/trade/process.log
# ps aux |grep TradeServer |grep -v grep |awk '{print $2}' |xargs kill -9
sleep 1
/usr/local/bin/sendEmail -f [UserQQ]@qq.com -t seala@live.com -s smtp.qq.com -u "TradeServer Down" -xu [userQQ] -xp [password] -m "TradeServer"
sleep 1
/usr/local/bin/flash stop
sleep 2
/usr/local/bin/trade start
sleep 2
/usr/local/bin/flash start
fi
sleep 10
done
需要SendMail 报警 下面当服务宕掉后 会主动重启关联服务。