守護程序監控tomcat並自動重啟
昨天的tomcat問題,一天掛了3,4回,受不了了決定寫個監控tomcat程序並自動重啟的指令碼!
在網上查資料,主要分為兩類:一類是定時重啟tomcat,這當然不是我需要的,另一類是監控並重啟,不過也有好幾個版本,我綜合比較後(主要是這篇http://hi.baidu.com/tedzhangzhe/item/4afd87aa1cf2d1f215329b8a),刪除了些不需要的內容,並將程式碼修改如下:
########################################### # author # date 2014/05/19 # update 2014/05/19 # Automatic detection and restart tomcat ############################################ echo ======================================== date cd /usr/local/share/tomcat7/bin/script rm -f main.jsp wget -T 10 -t 3 -q http://10.0.210.100:8080/pmonitor/main.jsp if [ ! -e main.jsp ]; then echo "restart tomcat." export JAVA_HOME=/usr/local/java/jdk1.6.0_37 /usr/local/share/tomcat7/bin/shutdown.sh sleep 10 kill -9 `ps aux|grep "/usr/local/share/tomcat7"|grep -v grep|awk '{prin t $2}'` sleep 5 /usr/local/share/tomcat7/bin/startup.sh else echo "checked." fi
1、將程式碼複製到monitor.sh的文件中,並放入usr/local/share/tomcat7/bin中(路徑是自己選的,若修改路徑,將程式碼中相關內容替換為新路徑就行了)。
2、sudo chmod a+x monitor.sh加許可權。
3、sudo crontab -e,在文件末尾新增*/2 * * * * /usr/local/share/tomcat7/bin/monitor.sh,意思是全天範圍內每2分鐘執行一次這個指令碼。
其中,我明明在.bashrc檔案中設定過了JAVA_HOME環境變數,可是執行時還是報錯,提示Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
測試環節:人工關閉tomcat後,2分鐘後ps -ef |grep tomcat,又自動啟動了,成功。
總結一下,這篇程式碼的方法不是直接監控tomcat埠,而是通過wget傳輸檔案來測試,我們都知道wget是可以走http協議的,正好可以經過tomcat來測試服務是否有效,很巧妙的應用!同理也可做其他服務的監控。
相關推薦
守護程序監控tomcat並自動重啟
昨天的tomcat問題,一天掛了3,4回,受不了了決定寫個監控tomcat程序並自動重啟的指令碼! 在網上查資料,主要分為兩類:一類是定時重啟tomcat,這當然不是我需要的,另一類是監控並重啟,不過也有好幾個版本,我綜合比較後(主要是這篇http://hi.baidu.c
linux 程序守護,監控並自動重啟
1、[下載](http://cr.yp.to/daemontools.html daemontools)daemontools安裝包 2、安裝 tar xvzf daemontools-0.76.tar.gz cd admin/daemontools-0.76 package/in
用Shell指令碼定時監控Linux下的程序狀態並自動重啟
以mysql為例,先上shell指令碼,如下: #!/bin/bash ps -ef | grep mysqld | grep -v grep if [ $? -ne 0 ] then echo “start process…” /etc/rc.d/init.d
Linux下Tomcat實時監控並自動重啟
由於專案時常出現記憶體不足,然後造成服務掛掉,由於公司成本考慮,和戰略轉移,不能在硬體上進行升級,但還要保證服務的穩定執行,因此寫了個shell指令碼來對服務進行實時監控,並在掛掉的情況下實現自動重啟。 指令碼程式碼 注意事項 一、指令碼寫好後要進行命名,一定要
ZABBIX配置自動添加端口監控,並觸發重啟服務
color 監控 style 1、配置自動發現腳本 #!/bin/bash # ------------------------------------------------------------------------------- # Script_name: discovery
shell監控網站是否自動運行並自動重啟【原創】
自動重啟 aid func 服務腳本 date null com 監控網頁 moni shell監控網站是否自動運行並自動重啟 #!/bin/bash wget --spider -q -o /dev/null --tries=1 -T 5 www.baidu.co
monit 監控並自動重啟服務
Monit是一款功能非常豐富的程序、檔案、目錄和裝置的監測軟體,用於Unix平臺。 它可以自動修復那些已經停止運作的程式,特使適合處理那些由於多種原因導致的軟體錯誤。monit運行於應用層 安裝很簡單,三部曲 #./configure #make #make install
supervisor監聽程式碼的改動,並自動重啟nodejs
問題: 在開發nodejs實現的HTTP WEB應用的時候,無論你修改程式碼的那一部分,都必須終止nodejs,再重新執行才奏效。 原因: nodejs只有在第一次引用到某部分時候才去解析指令碼檔案,以後都會直接訪問記憶體,避免重複載入,而PHP則總是重新讀取並解析指令碼(如果沒
監測指令碼程序,結束後自動重啟
①新建一個指令碼 #!/bin/bash count=`ps -fe |grep "/opt/AutowaterBJ/start.php" | grep -v "grep" | grep "
linux下實現tomcat定時自動重啟
tomcat自帶的指令碼中沒有提供直接restart的模式,但是有start和shutdown兩種模式。要實現restart模式,實際上只需要判斷是否已經啟動tomcat,若已經啟動則限制性shutdown,然後在執行start。或者通過ps aux查詢出是
監控Tomcat服務,自動重啟指令碼
針對測試環境程式異常關閉,由於測試環境安裝Supervisor太費勁了,就自己寫了一個小指令碼,希望能解決大家的問題,指令碼內容如下: #!/usr/bin/python # coding=utf-8 import subprocess import datetime import time
windows下監控程序自動重啟
監控redis @echo off set Program="redis-server.exe" tasklist -v | findstr %Program% > NUL if ErrorLevel 1 ( echo "程序不存在" &g
在windows 上自動重啟 tomcat 的方法
下載 ech num 指定時間 重啟 set restart family blog 在windows 上自動重啟 tomcat 的方法 實現思路: Windows 上監控tomcat 進程並且自動重啟的腳本 一類是 定時重啟 tomcat 一類是 監控並重啟 寫一個守護t
linux kafka程序掛了 自動重啟
使用crontab,定時監控 kafka程序,發現掛了後重啟。 shell指令碼如下: #!/bin/sh source /etc/profile proc_dir="/data/kafka" # 程式目錄 pro
監控伺服器程式,掛掉後自動重啟
1、定時呼叫ps,檢查程式是否活著。如果不在了就啟動程式 #!/bin/bash name=$1 while true do c=`ps -x | grep $name | grep -v grep
Tomcat Docker容器自動重啟問題排查
1. 問題 前兩天發現 APP 重新整理資料偶爾出現等半天沒有響應的情況,感覺不像 APP 的問題,就查了下服務端的日誌。 服務端用的是 Java,部署採用的 Docker 官方的 tomcat 映象,並進行了基本的裁剪,Dockerfile 檔案內容如下:
SHELL指令碼實現服務宕機監控自動重啟
需要先安裝 yum install stat crontabs (本例項在centos系統下) #!/bin/bash #Shell ##根據修改檔案時間進行監控## content=`ls -l /tmp/log.txt | awk '{ print $5 }'`
Tomcat自動重啟指令碼
我做過的Tomcat自動重啟其實是讓Windows系統的任務計劃程式來實現觸發的,先讓Tomcat自動關閉,然後讓Tomcat自動啟動,這樣就是自動重啟了。 一、編寫指令碼 指令碼如下: 自動關閉指令碼:tomcat_stop.bat @echo off echo 執行開始時間 da
tomcat宕機自動重啟和每日定時啟動tomcat【工具包系列】
在專案後期維護中會遇到這樣的情況,tomcat在記憶體溢位的時候就出現宕機的情況和遇到長時間不響應,需要人工手動關閉和重啟服務,針對這樣的突發情況,希望程式能自動處理問題而不需要人工關於,所以才有了目前的需求。 一、設定tomcat定時啟動 1,首先將tomcat註
Linux 下python 利用supervisord自動重啟多程序
1、安裝supervisord 利用SecureCRT進入Linux環境,輸入python,進入python shell環境,import supervisor看是否安裝了supervisord,若沒有安裝, yum install python-setuptools