spark的自留地(ofbiz/eclipse rcp/shark/opentaps)

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  54 Posts :: 0 Stories :: 112 Comments :: 0 Trackbacks

兄弟们不知道是否有被要求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中定时执行此脚本,就可以了!嘿... 这下闹心的电话少多了,当然不要忘记定时去看下日志哦!

本人原创文章,转载请注明出处!
posted on 2008-12-10 16:54 shanghai_spark 阅读(2232) 评论(3)  编辑  收藏 所属分类: linux

Feedback

# re: 写个crontab监控程序进程,让自己睡个好觉! 2008-12-10 19:47 随便说说
好办法,在WINDOWS下也可以写一个守护进程。
最根本可能还是系统有问题。。。

:##¥  回复  更多评论
  

# re: 写个crontab监控程序进程,让自己睡个好觉! 2008-12-11 13:45 天一
这个做法是不错,但能拿到信息比较小;而且都是单单服务信息。
这个应该有一个完整监控流程。

但还是谢谢分享。  回复  更多评论
  

# re: 写个crontab监控程序进程,让自己睡个好觉! 2008-12-13 18:30 戴尔笔记本
这个做法是不错  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: