Linux下設定指令碼監控tomcat

來源:互聯網
上載者:User

標籤:tomcat監控


前景描述,公司要求,在Linux Centos 伺服器下,監控tomcat狀態,如果tomcat連接埠不通,設定tomcat程式自動啟動。20分鐘檢查一次。

tomcat安裝的目錄:/home/test/tomcat6/bin



#!/bin/bash  

echo "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.log  

  

  

kill  `ps -ef|grep java|grep -v grep |awk ‘{print $2}‘` > /dev/null 2>&1  

# 這條語句中ps -ef|grep java|grep -v grep為查詢進程中java進程同時排除本身語句,用awk找到第二列資訊,返回狀態扔到黑洞中。  

sleep 2  

cd /tomcat-6.0.29/bin/       #tomcat安裝的路徑

/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依然重啟失效的日誌  

fi  

sleep 180  

fi  

}  

sleep 3  

# 運行指令碼後才開始正式工作(防止重啟伺服器後由於tomcat還沒開始啟動造成誤判)  

  

  

# 主迴圈體  

doit   


我的指令碼:


#!/bin/bash  

echo "Start"  

URL="http://127.0.0.1:8080/"  

curlit()  

{  

    #echo "??"  

curl --connect-timeout 15 --max-time 20 --head --silent "$URL" | grep ‘200‘   

}  

doit()  

{        

if ! curlit; then  

  

   # echo "TD"  

sleep 20  

   #top -n 1 -b >> /var/log/log.log  

  

  

kill  `ps -ef|grep java|grep -v grep |awk ‘{print $2}‘` > /dev/null 2>&1  

 

sleep 2  

cd /home/test/tomcat6/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  

 

fi  

sleep 180  

fi  

}  

sleep 3  

    

doit   



上面是指令碼,建立指令碼要在Linux下建立,步驟是:

1,用root帳號進入

2,編寫指令碼

#touch jiankong1.sh

   #vim jiankong1.sh  

    把上面的指令碼複製到這個sh檔案裡面。

3,給指令碼設定執行許可權

  chmod  700  jiankong1.sh

4,計劃任務中添加該執行任務:

#crontab -e   按i進入編輯,和vim用法一樣

輸入:*/20 * * * * /home/jiankong1.sh

:wq!

5,檢查執行任務中的程式

#crontab -l

本文出自 “ghost” 部落格,請務必保留此出處http://fangwei009.blog.51cto.com/5234706/1632257

Linux下設定指令碼監控tomcat

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.