Linux下tomcat進程運行監視並自動重啟的指令碼

來源:互聯網
上載者:User

1,描述

我們需要寫一個進程監控的指令碼,目的是檢測tomcat進程是否停掉,如果掛了,自動拉起,所以我們寫了如下的指令碼,參考了一些資料,希望對有需要的人有所協助。

#!/bin/bashecho "Start"URL="http://127.0.0.1/###/"curlit(){    #echo "??"curl --connect-timeout 15 --max-time 20 --head --silent "$URL" | grep '200'# 上面的15是連線逾時時間,若訪問localhost的HTTP服務超過15s仍然沒有正確響應200頭代碼,則判斷為無法訪問。}doit(){      if ! curlit; then# 如果localhost的apache服務沒有正常返回200頭,即出現異常。執行下述命令:   # echo "TD"sleep 20   #top -n 1 -b >> /var/log/log.logkill  `ps -ef|grep java|grep -v grep |awk '{print $2}'` > /dev/null 2>&1# 這條語句中ps -ef|grep java|grep -v grep為查詢進程中java進程同時排除本身語句,用awk找到第二列資訊,返回狀態扔到黑洞中。sleep 2cd /tomcat-6.0.29/bin//bin/sh startup.sh #echo "EN"echo $(date) “Tomcat Restart” >> /var/log/log.log# 寫入日誌sleep 60# 重啟完成後等待,然後再次嘗試一次if  ! curlit; then# 如果仍然無法訪問,則:echo "@"echo $(date) “Failed!” >> /var/log/log.log# 寫入apache依然重啟失效的日誌fisleep 180fi}sleep 3# 運行指令碼後才開始正式工作(防止重啟伺服器後由於tomcat還沒開始啟動造成誤判)# 主迴圈體doit 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.