写个crontab监控程序进程,让自己睡个好觉!

兄弟们不知道是否有被要求24小时不允许关机的痛苦经历,有时半夜正在做着美梦却被客户或老板抓起来一通臭骂,服务器怎么回事down了,网站访问不了... 唉,真是痛不欲生呀!

经历过N次折磨后,我下定决心要改变这种情况,想一下,也许我可以写个crontab来监控程序的运行情况,如果服务停止或发生了不可修复的错误时,自动重启服务器,这样我就不用担心半夜被人抓起来骂了。

说动手就动手,虽说我linux/unix脚本不是很熟,但我想应该也难不到我,左瞧瞧右看看,拼出了一个脚本,给大家参考下,大家可以修改下路径与端口适应自己的程序:

#查找当前工作日志文件,判断是否发生不可修复的错误,若有则重启
LOG=`ls /workdir/server-*.log -lrt |tail -1`
ERROR_NUM=`cat $LOG | grep java.lang.OutOfMemoryError | wc -l`
if [ $ERROR_NUM -ne 0 ];then
echo "found $ERROR_NUM times at $LOG"
kill -9 `netstat -anp|grep :::8080 | awk '{print substr($7,1,index($7,"/java")-1)}'`
cd /workdir;exec startserver.sh
exit
fi
#检查当前服务是否还在运行,若已停止,则重新启动
PROCESS_NUM=`netstat -anp|grep :::8080 | awk '{print substr($7,1,index($7,"/java")-1)}' | wc -l`
if [ $PROCESS_NUM -eq 0 ];
then
cd /workdir;exec startserver.sh
fi



然后在crontab中定时执行此脚本,就可以了!嘿... 这下闹心的电话少多了,当然不要忘记定时去看下日志哦!

本人原创文章,转载请注明出处!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值