Linux下Tomcat进程运行监视并自动重启的脚本

1,描述

我们需要写一个进程监控的脚本,目的是检测tomcat进程是否停掉,如果挂了,自动拉起,所以我们写了如下的脚本,参考了一些资料,希望对有需要的人有所帮助。

 
  1. #!/bin/bash  
  2. echo "Start"  
  3. URL="http://127.0.0.1/###/"  
  4. curlit()  
  5. {  
  6.     #echo "??"  
  7. curl --connect-timeout 15 --max-time 20 --head --silent "$URL" | grep '200'  
  8. # 上面的15是连接超时时间,若访问localhost的HTTP服务超过15s仍然没有正确响应200头代码,则判断为无法访问。  
  9. }  
  10. doit()  
  11. {        
  12. if ! curlit; then  
  13. # 如果localhost的apache服务没有正常返回200头,即出现异常。执行下述命令:  
  14.    # echo "TD"  
  15. sleep 20  
  16.    #top -n 1 -b >> /var/log/log.log  
  17.   
  18.   
  19. kill  `ps -ef|grep java|grep -v grep |awk '{print $2}'` > /dev/null 2>&1  
  20. # 这条语句中ps -ef|grep java|grep -v grep为查询进程中java进程同时排除本身语句,用awk找到第二列信息,返回状态扔到黑洞中。  
  21. sleep 2  
  22. cd /tomcat-6.0.29/bin/  
  23. /bin/sh startup.sh   
  24. #echo "EN"  
  25. echo $(date) “Tomcat Restart” >> /var/log/log.log  
  26. # 写入日志  
  27. sleep 60  
  28. # 重启完成后等待,然后再次尝试一次  
  29. if  ! curlit; then  
  30. # 如果仍然无法访问,则:  
  31. echo "@"  
  32. echo $(date) “Failed!” >> /var/log/log.log  
  33. # 写入apache依然重启失效的日志  
  34. fi  
  35. sleep 180  
  36. fi  
  37. }  
  38. sleep 3  
  39. # 运行脚本后才开始正式工作(防止重启服务器后由于tomcat还没开始启动造成误判)  
  40.   
  41.   
  42. # 主循环体  
  43. doit   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值