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

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

  #!/bin/bash   echo "Start"   URL="http://127.0.0.1/###/"   curlit()   {       #echo "??"   curl --connect-timeout 15 --max-time 20 --head --silent "$URL" | grep '200'   # 上面的15是连接超时时间,若访问localhost的HTTP服务超过15s仍然没有正确响应200头代码,则判断为无法访问。   }   doit()   {         if ! curlit; then   # 如果localhost的apache服务没有正常返回200头,即出现异常。执行下述命令:      # echo "TD"   sleep 20      #top -n 1 -b >> /var/log/log.log         kill  `ps -ef|grep Java|grep -v grep |awk '{print $2}'` > /dev/null 2>&1   # 这条语句中ps -ef|grep java|grep -v grep为查询进程中java进程同时排除本身语句,用awk找到第二列信息,返回状态扔到黑洞中。   sleep 2   cd /tomcat-6.0.29/bin/   /bin/sh startup.sh    #echo "EN"   echo $(date) “Tomcat Restart” >> /var/log/log.log   # 写入日志   sleep 60   # 重启完成后等待,然后再次尝试一次   if  ! curlit; then   # 如果仍然无法访问,则:   echo "@"   echo $(date) “Failed!” >> /var/log/log.log   # 写入apache依然重启失效的日志   fi   sleep 180   fi   }   sleep 3   # 运行脚本后才开始正式工作(防止重启服务器后由于tomcat还没开始启动造成误判)         # 主循环体   doit     

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/d6a6ab7c6b42c0b5a773434df4635a95.html