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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat进程运行监视并自动重启的脚本相关的知识,希望对你有一定的参考价值。

#!/bin/bash  
#author:yuxiaoguang
#date:2016/5/22
echo "Start"  
URL="http://127.0.0.1:8090"  
curlit()  
{  
    #echo "??"  
curl --connect-timeout 15 --max-time 20 --head --silent "$URL" | grep ‘200‘  
# 上面的15是连接超时时间,若访问localhost的HTTP服务超过15s仍然没有正确响应200头代码,则判断为无法访问。  
}  

sleep 10
curlit()  
{  
    #echo "??"  
curl --connect-timeout 15 --max-time 20 --head --silent "$URL" | grep ‘200‘  
# 上面的15是连接超时时间,若访问localhost的HTTP服务超过15s仍然没有正确响应200头代码,则判断为无法访问。  
}  

doit()  
{        
if ! curlit; then  
# 如果localhost的tomcat服务没有正常返回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 /soft/tomcat/bin/  
/bin/sh shutdown.sh
sleep 2
/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  
# 写入tomcat依然重启失效的日志  
fi  
sleep 180  
fi  
}  
sleep 3  
# 运行脚本后才开始正式工作(防止重启服务器后由于tomcat还没开始启动造成误判)  
  
# 主循环体  
doit 

加入crontab 定时任务
#设置每两分钟检测一次
*/2 0 * * * /home/shell/tomcat-check.sh > /dev/null > 2>&1


本文出自 “光普-运维公社” 博客,请务必保留此出处http://gugpu.blog.51cto.com/3002132/1775952

以上是关于Tomcat进程运行监视并自动重启的脚本的主要内容,如果未能解决你的问题,请参考以下文章

小工具shell检测进程状态异常自动重启

tomcat宕机自动重启脚本

Linux下shell脚本监控Tomcat的状态并实现自动启动

Tomcat监控助手-自动重启相关服务

shell:监控进程运行状态并自动重启进程

sh 监控的php-fpm的进程数并自动重启PHP-FPM的外壳脚本