linux下用指令碼監測tomcat停止並且自動啟動
阿新 • • 發佈:2019-01-23
最近發現伺服器上的tomcat有時候不知道為什麼就停止了,catalina.out中沒有異常資訊,但是catalina.2014-08-03.log裡面有一些資訊,不知道是不是這個原因造成的。
WARNING: An attempt was made to authenticate the locked user "admin"
Aug 02, 2014 2:17:42 PM org.apache.catalina.realm.LockOutRealm authenticate
總之還是不知道原因是什麼,因為這個現在是不定期的。所以只能暫時寫個指令碼監測tomcat,如果停止了就馬上啟動。
參考了這個論壇:http://bbs.chinaunix.net/thread-675212-2-1.html。
複製了個如下指令碼,試了是可行的
running=`ps -ef |grep /usr/local/tomcat |grep -v grep` if [ "x" != "x$running" ] then echo "Tomcat already running!" exit 0 fi su - -c "/usr/local/tomcat/bin/startup.sh &" sleep 3 running=`ps -ef |grep /usr/local/tomcat |grep -v grep` if [ "x" = "x$running" ] then echo "Tomcat start error!" exit 1 else echo "Tomcat restore succeed" exit 0 fi
然後用crontab週期執行。
注意:
1、此指令碼放的位置一定不能是/usr/local/tomcat(不能和檢測tomcat是否執行的那個一樣),否則每次執行的時候都是tomcat already running!"。
2、一定要給此指令碼賦予可執行許可權。chmod +x jiaoben.sh,否則不能執行。
沒有從根本上解決問題,希望有同樣問題的大神能夠幫忙解答。