1. 程式人生 > >linux下用指令碼監測tomcat停止並且自動啟動

linux下用指令碼監測tomcat停止並且自動啟動

           最近發現伺服器上的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,否則不能執行。

沒有從根本上解決問題,希望有同樣問題的大神能夠幫忙解答。