使用crontab和shell定時自動檢查tomcat是否正常啓用

場景:有的時候tomcat下的應用性能不佳或者其他原因,導致tomcat運行一段時間後,因多併發響應或者其他原因,會自動停掉,爲了防止替程序員背鍋,可以通過定時檢查相關服務是否正常啓動,沒有啓動寫入日誌,並重啓該服務,暫時緩解應用方面的缺陷,尤其是外包的應用,質量一般的應用。

解決方案:
1、編寫腳本 監聽給服務的端口,是否正常運行。如果正常,則記錄當前服務正常並記錄日誌中, 如果 該端口 無法監聽,則判斷此服務異常,嘗試重啓該服務並記錄到日誌。
2、啓用crond, 設置crontab ,定時執行該腳本。

具體代碼如下:

  1、shell腳本:
#!/bin/bash
# Program:
#  look the port and service is good
# History:
#2016-06-11  mcw  first
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
#netstat this tomcat is port ,if port ok ,log is ok, else restart this tomcat and log is restart
testing=$(netstat -tuln |grep ":8081")  #監聽端口
if [ "$testing" != "" ]; then
echo $(date)"tomcat-dzp is running in your system" >> /data0/logs/dzp.txt
else
sh /usr/local/apache-tomcat-6.0.35/bin/startup.sh && echo  $(date)" tomcat-dzp is error and restart it" >>/data0/logs/dzp.txt
fi

2、啓動 crond服務

    service  crond start
        crontab -e
        #設置
        */10 * * * * sh /data0/check/checkdzp.sh    #每10分鐘檢查一次
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章