(tomcat) java程序監控及守護
阿新 • • 發佈:2019-02-09
Linux伺服器下需要監控某些程序的狀態. 當程序不存在時, 自動啟動, 當程序異常時, 自動重啟.
以tomcat為例
1. 編寫監控指令碼(/data/bin/monitor.sh)
#!/bin/sh #載入環境變數 #ALL source /etc/profile #MINE source ~/.bash_profile #程序標識(此處以路徑作為標識) TOMCAT_PATH=/root/tools/server ############重啟服務 function restartServer(){ #殺死程序 if [ "" != "$1" ] then echo "kill the process" kill -9 $1 sleep 2 fi #重啟程序指令碼 cd "$TOMCAT_PATH/bin" echo "restart the process `pwd`/startup.sh" sh startup.sh #結束 echo "done!!!" } #列印指令碼時間 monitorDate=`date "+%Y-%m-%d %H:%M:%S"` echo -e "\n---------------Monitor at [$monitorDate]" #獲取程序pid pid=`ps -ef|grep $TOMCAT_PATH|grep java|grep -v grep|awk '{print $2}'` echo "PID: $pid" if [ "" == "$pid" ] then echo "ERROR: pid not found" #啟動服務 restartServer exit else # 程序存在的情況下的處理 # restartServer $pid fi
新增執行許可權
chmod +x monitor.sh
2. 部署crontab(定時執行, 每5分鐘執行一次)
crontab -e
*/5 * * * * /data/bin/monitor.sh >> /data/bin/minitor.log 2>&1
3. 觀察日誌檔案是否有報錯
tail -100f /data/bin/minitor.log