内部自己开发的服务应用程序 ,经常会由各种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 [email protected] -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 报警 下面当服务宕掉后 会主动重启关联服务。