寫一個腳本,自動啟動tomcat


我的服務器是使用tomcat的,時不時tomcat的進程會突然結束掉,不知道為什么,從日志上看也沒有任何可疑之處,貌似就這樣突然沒了,接下來的日志都是重新啟動tomcat之后打印的了。原因找不到,但要找變通方法,不要出了問題后總要上服務器去自己重啟tomcat。我打算利用系統的cron服務來自動啟動tomcat,很簡單,大約1分鍾檢查一次tomcat的進程,如果沒有,就啟動之,腳本如下:

#!/bin/bash
export JRE_HOME=/usr/local/jre
if [ `ps -ef | egrep 'tomcat' | egrep -v egrep | wc -l` -gt 0 ]; then
exit 1
fi
echo `date`" tomcat restart" >> ~/shell/tomcat_restart.log
/usr/local/tomcat/bin/startup.sh

寫這個腳本的時候千萬注意:空格不要亂加!shell編程和別的編程不太一樣,空格有特殊含義。腳本在啟動tomcat的時候,會打印一個log,到~/shell/tomcat_restart.log中,其中包括了一個時間信息,方便我去查找原因(雖然我現在還是找不到原因)。

接下來就是配置crontab。

$crontab -e

然后編輯內容為(假如你的shell文件保存在~/shell/check_and_start_server.sh):

* * * * * ~/shell/check_and_start_server.sh

保存並退出crontab的編輯,然后啟動cron服務:

/etc/init.d/crond start

這樣一來,每一分鍾,cron服務就會執行一次檢查。啟動tomcat大約需要10秒鍾,所以最壞的情況是你的服務器可能會中斷1分鍾多一點的時間(考慮服務器是在14:20:01秒退出的,cron服務剛檢查過,下次檢查是14:21:00,這時候啟動tomcat,大約到14:21:10這樣啟動完成)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM