Linux下Tomcat自動檢測和重啟指令碼

來源:互聯網
上載者:User

該指令碼建議放在tomcat所在Linux伺服器上,建立/root/script目錄,指令碼放在該目錄。

不過因網路、硬體或系統嚴重故障導致郵件無法通知。指令碼某些功能可以去除,放在其它伺服器僅做為監控或重啟Tomcat也可以。
#/bin/bash
#############################################
# author zhao yanan
# date 2010/08/23
# update 2011/01/10
# Automatic detection and restart tomcat
#############################################

#指令碼可寫入到自動任務中,執行循環可根據tomcat起停時間長短來定,如下,每天0點到20點之間每隔10分鐘檢查一次
#echo "*/10 0-20 * * * root /root/script/tomcat_check.sh >> /root/script/tomcat_check.log 2>&1" >> /etc/crontab

echo ========================================
date
cd /root/script
rm -f index.html #刪除之前已下載的首頁
wget -T 10 -t 3 -q http://XXX.XXX.XXX.XXX/index.html #下載首頁,失敗後最多償試3次,每次間隔10秒

if [ ! -e index.html ]; then #判斷首頁是否下載成功,如果成功,則執行接下來的任務,否則執行else後的任務。
# java Environment variables #設定jdk的環境變數,根據自已的實際情況設定
export JAVA_HOME=/opt/jdk1.6.0_21
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar
export CATALINA_HOME=/opt/apache-tomcat-6.0.26
export PATH=$JAVA_HOME/bin:$PATH

echo "restart tomcat."
${CATALINA_HOME}/bin/shutdown.sh #關閉tomcat
sleep 150 #等待tomcat關閉,一般是1~150s不等
kill -9 `ps aux|grep java|grep -v grep|awk {print $2}` #等待時間結束後,償試強制結束tomcat進程
sleep 5
${CATALINA_HOME}/bin/startup.sh
sleep 5 #等待tomcat啟動,一般是1~150s不等
/usr/sbin/sendmail -t <<EOF #發送郵件通知,以下項前面請不要添加空格,生產使用時請刪除此注釋
From: web server <root@localhost> #郵件寄件者,生產使用時請刪除此注釋
To: username@gmail.com #主送郵件地址,注意,大部分郵件接收伺服器不接受沒有fully-qualified的郵件,一般會失敗,生產使用時請刪除此注釋
Cc: username@gmail.com #抄送郵件地址,生產使用時請刪除此注釋
Subject: Alarm:tomcat restart #郵件標題,生產使用時請刪除此注釋
---------------------------------- #郵件內容,生產使用時請刪除此注釋
In just restarted tomcat.
----------------------------------
EOF #該符號前面不能有空格,生產使用時請刪除此注釋
else
echo "checked." #首頁下載成功,提示已檢查
fi

附件中的指令檔是有DOS分行符號(CR/LF)的,複製檔案中的內容到SSH用戶端沒有問題,如果直接拷貝檔案到Linux系統中,可先運行下面的命令:
mv example_tomcat_check.txt example_tomcat_check.sh
dos2unix example_tomcat_check.sh
 

聯繫我們

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