注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

曾国藩的博客

 
 
 

日志

 
 

tomcat监控脚本并自动重启  

2015-08-25 14:50:53|  分类: 脚本/跳板/效率/ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
http://blog.chinaunix.net/uid-25046147-id-3078397.html
最近公司的tomcat总是出现内存溢出现象,导致的结果呢--tomcat总是出现挂了。商业网站么,不可能让他停个几十分钟的,而且呢,nagios报警也是会发到一群人的手机上的。本人呢,如果自己不是第一个发现并解决的话----后果可想而知。而且tomcat总是一天出现N次,时间也是不定的,为了个人的身心健康、为了能睡个安稳的觉,就写了这个脚本。
  1. #!/bin/bash
  2. NOL=`service tomcatd status|awk '{print $2}'`
  3. SYS=`uname -a|awk '{print $2}'`
  4. TLOG=/var/log/tomcat.log
  5. PID=/tmp/tomcat
  6. TPAGE="http://127.0.0.1/randimg.jsp"
  7. DATE=`date +%Y/%m/%d_%H:%M:%S`
  8. RESULT=`/usr/bin/wget -S --spider --tries=3 --timeout=3 http://127.0.0.1/randimg.jsp 2>&1 | grep HTTP/1.1 | awk '{print $2}'`
  9. ##############PID isn't in#################
  10. if [ -e $PID ]; then
  11.    echo "$PPID $DATE $SYS is $NOL" about starting >>/var/log/tomcat.log
  12.       if [ "T$RESULT" == "T200" ]; then  
            rm -rf $PID
       wget -q -O /dev/null "$SMS&mob=15121049583&msg=$SYS+is+$NOL+starting+tomcat"
       fi
  13.        exit;
  14. fi
  15. ##############tomcat####################### 
  16. if [ "T$RESULT" == "T200" ]; then
  17.     echo -ne "$DATE Tomcat is OK ">>$TLOG
  18. #   echo "$SYS is $NOL about tomcat"|mail -s $SYS $NOL 151xxxxxxxx@139.com
  19. else
  20.     sleep 2
  21. if [ "T$RESULT" == "T200" ]; then
  22.     echo -ne "$SYS $DATE Tomcat is OK!">>$TLOG
  23. #   echo "$SYS is $NOL about tomcat"|mail -s $SYS $NOL 151xxxxxxxx@139.com   
  24.  else
  25.      echo -ne "$DATE Tomcat is down !!">>$TLOG
  26.     echo "$SYS is $NOL about tomcat"|mail -s $SYS 151xxxxxxxxxxx@139.com
  27.     echo "$SYS is $NOL about tomcat"|mail -s $SYS 151xxxxxxxxxxx@139.com   
  28.  TOMCATPID=`ps -ef|grep tomcat|grep java|grep -v "grep"|awk '{print $2}'`
  29.     if [ ! -z "$TOMCATPID" ];then
  30. #            kill -9 $TOMCATPID
  31. #            kill -9 $TOMCATPID
  32.     echo $TOMCATPID
  33.             sleep 4
  34.    fi
  35.        echo 1 >$PID
  36.        service tomcatd status
  37.        service httpd status
  38.    echo "$DATE $SYS'tomcat is restarting"  >>$TLOG
  39.        if [ "T$RESULT" == "T200" ]; then
  40.           echo -ne "$SYS $DATE is $NOL about tomcat restart ok!!" >>$TLOG
  41.           echo "$SYS is $NOL about tomcat restart ok"|mail -s $SYS 151xxxxxxxxx@139.com
  42.           rm -rf $PID
  43.       else
  44.           echo -ne "SYS $DATE is $NOL about tomcat failure" >>$TLOG
  45.           echo "TOMCAT restart failure $SYS is $NOL "|mail -s $SYS $NOL 151xxxxxxx@139.com   
  46.           echo "TOMCAT restart failure $SYS is $NOL "|mail -s $SYS $NOL 1512xxxxxxxxx@139.com   
  47.       fi
  48.  fi
  49. fi
  50. 后语:刚开是写了一半的时候,突然想到自己怎么不网上找一篇的,于是就google一番。收获还挺多,于是一篇一篇的看、一篇一篇的评估或测试,结果呢,我的tomcat启动过程中总是被干掉(计划5分钟执行一次,当tomcat超过5分钟没有启动了时,下一个脚本计划就运行,就这样循环、循环--tomcat启动不来)。最后,只好放弃了。自己写一篇吧而且还可以向自己发送tomcat启动信息状况的。

  评论这张
 
阅读(163)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018