Linux中使用Crontab定時監(jiān)測維護Tomcat應(yīng)用程序的方法
更新時間:2014年11月23日 23:27:26 作者:zhoulf
定時監(jiān)測發(fā)布的某項應(yīng)用程序是否可用,如果不可用,立即執(zhí)行處理措施,實現(xiàn)自動化運維工作
監(jiān)測的應(yīng)用接口: 新聞接口、天氣接口
處理方法:應(yīng)用接口不可用時自動重啟Tomcat,并發(fā)送告警郵件給相關(guān)人員
#!/bin/bash
#---------------------------------------------------------
# 功能說明:
# 監(jiān)控指定HTTP服務(wù)是否可用,如果不可用立即重啟Tomcat
#
# 使用說明:
# 1. 將此腳本放置在/home/opentsp/crontab/目錄下。
# 2. 修改腳本執(zhí)行權(quán)下為可執(zhí)行權(quán)限。
# 3. 添加到定時任務(wù)中,定時執(zhí)行時間(建議為20分鐘)
# 4. 修改郵件發(fā)送人員信息列表(當(dāng)服務(wù)重啟時發(fā)郵件給相關(guān)人員)
# - 周凌飛(2014-08-13)
#---------------------------------------------------------
export LC_ALL=zh_CN.UTF-8
#網(wǎng)站地址、參數(shù)
SERVER_NAME="趣駕云接口服務(wù)"
URL_2="http://127.0.0.1/get_rss_news?p=%7b%27chId%27:%27TIYU%27%7d"
KeyWorld_2='<title>'
URL_3="http://127.0.0.1/get_json_weather?p=%7blon:116.407617,lat:39.993956,date:1%7d"
KeyWorld_3='temperature'
#郵件發(fā)送列表
mail_ary=(
xxxxxxxxx@navinfo.com
xxxxxxxxx@navinfo.com
xxxxxxxxx@navinfo.com
)
#接口調(diào)用失敗的處理方法
function doFail(){
local ipinfo=$(ifconfig |sed -n '2p'|awk '{print substr($2,6)}');
# 發(fā)送郵件
for _v in ${mail_ary[*]} ; do
echo "[$SERVER_NAME 異常] - [$(date -d "0 min" +"%Y-%m-%d %H:%M:%S")] - [請求地址: $1] - [請求返回碼: $2]" | mail -s ${ipinfo}服務(wù)異常 ${_v}
done
# 寫入日志
echo "[ERROR] - [$(date -d "0 min" +"%Y-%m-%d %H:%M:%S")] - 返回碼[$2] - 重啟Tomcat服務(wù)" >> detect-http.log
# 關(guān)閉Tomcat
sh /home/opentsp/crontab/ibr-shutdown.sh
exit;
}
#請求超時時間設(shè)置
TIME_OUT=40
function doCheck(){
local URL_X=$1;
local KeyWorld_X=$2;
HTTP_STATUS_CODE=`curl -m $TIME_OUT -o /dev/null -s -w "%{http_code}" "${URL_X}"`
if [ $HTTP_STATUS_CODE != 200 ];then
#請求失敗
echo "-> Fail - 返回碼${HTTP_STATUS_CODE}";
doFail ${URL_X} ${HTTP_STATUS_CODE};
else
#服務(wù)器正常響應(yīng),檢查返回內(nèi)容
if curl -m ${TIME_OUT} -s ${URL_X} | grep -q ${KeyWorld_X};then
echo "-> SUCCESS";
else
echo "->> Fail";
# 返回內(nèi)容錯誤處理
doFail ${URL_X} ${HTTP_STATUS_CODE};
fi
fi
}
#
#檢查 - 新聞
doCheck ${URL_2} ${KeyWorld_2}
#檢查 - 天氣
doCheck ${URL_3} ${KeyWorld_3}
將以上代碼放入到Linux的定時任務(wù)中即可,定時任務(wù)時間建議為20分鐘一次。
相關(guān)文章
怎么禁用 Ubuntu 服務(wù)器中終端歡迎消息中的廣告
這篇文章主要介紹了怎么禁用 Ubuntu 服務(wù)器中終端歡迎消息中的廣告,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2018-11-11

