#!/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
Tomcat进程运行监视并自动重启的脚本
原创guangpu_yu 博主文章分类:Shell脚本 ©著作权
©著作权归作者所有:来自51CTO博客作者guangpu_yu的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:Nginx日志分割脚本
下一篇:Linux系统初始化脚本
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
shell:监控进程运行状态并自动重启进程
实例: cat etc/init.d/monitor-app.sh 一个app启动脚本: cat etc/init.d/automhclient
linux shell脚本 启动脚本 bash -
Tomcat的重启shell脚本
最近做性能测试,每次测试完成都要重启tomcat,索引很麻烦,为此写了一个简单的s
java shell awk tomcat linux