实现效果
通过 Tomcat 监测脚本 按照一定的时间频度来检测Tomcat应用是否正常,如果进程不存在,则启动 Tomcat;如果进程存在而访问不正常,则杀掉进程,再启动 Tomcat。
脚本的主体
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
vi / home / dev / ctl / tomcat - inspector / image.sh #!/bin/bash echo $(date '+%Y-%m-%d %H:%M:%S' ) whoami JAVA_HOME = / opt / java / jdk1. 8.0_40 PATH = $JAVA_HOME / bin :$PATH export PATH JAVA_HOME port = 8086 sn = "tomcat-image-$port" th = "/home/dev/tomcat/$sn" url = "http://you-app-server/" tomcat = `ps - ef | grep java | grep $sn | grep $port | wc - l` if [ $tomcat - eq 0 ] then echo $sn stoped. echo starting $sn ...... $th / bin / startup.sh fi if [ $tomcat - ge 1 ] then tpid = `ps - ef | grep java | grep $sn | grep $port | awk '{print $2}' ` echo $sn is running, pid = $tpid httpStatus = `curl - I $url 2 > / dev / null | grep HTTP | awk '{print $2}' ` echo $httpStatus if [[ - z "$httpStatus" || $httpStatus - ge 500 ]] then echo killing $sn ...... kill - 9 $tpid echo starting $sn ...... $th / bin / startup.sh fi fi |
设定执行频度
1
2
|
crontab - e * / 5 * * * * / home / dev / ctl / tomcat - inspector / image.sh >> / home / dev / ctl / tomcat - inspector / logs / image.log 2 >& 1 |
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。谢谢大家对服务器之家的支持。
原文链接:https://buzheng.org/2015/tomcat-inspector-script.html