实现效果
通过 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