實現效果
通過 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