shell自動モニタtomcatスクリプトを再起動します。
- : tomcat , , , , 200 , 。
-
- #!/bin/sh
- #
- PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.5.0_11/bin
- export JAVA_HOME=/usr/java/jdk1.5.0_11
- export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
- export PATH=$PATH:$JAVA_HOME/bin
-
- # DEFINE
-
- # tomcat ID
- TomcatID=$(ps -ef |grep tomcat |grep -w 'apache-tomcat-5.5.23'|grep -v 'grep'|awk '{print $2}')
-
- # tomcat ( tomcat )
- StartTomcat=/usr/apache-tomcat-5.5.23/bin/startup.sh
- TomcatCache=/usr/apache-tomcat-5.5.23/work
-
- #
- WebUrl=http://localhost:8080
-
- #
- GetPageInfo=/tmp/TomcatMonitor.Info
- TomcatMonitorLog=/tmp/TomcatMonitor.log
-
- Monitor()
- {
- echo "[info] tomcat...[$(date +'%F %H:%M:%S')]"
- if [ $TomcatID ];then # TOMCAT
- echo "[info] tomcat ID :$TomcatID, ..."
- # ( "200")
- TomcatServiceCode=$(curl -s -o $GetPageInfo -m 10 --connect-timeout 10 $WebUrl -w %{http_code})
- if [ $TomcatServiceCode -eq 200 ];then
- echo "[info] $TomcatServiceCode,tomcat , ......"
- else
- echo "[error]tomcat , ...... $TomcatServiceCode, $GetPageInfo"
- echo "[error] , tomcat"
- kill -9 $TomcatID # tomcat
- sleep 3
- rm -rf $TomcatCache # tomcat
- $StartTomcat
- fi
- else
- echo "[error]tomcat !tomcat ..."
- echo "[info]$StartTomcat, ......"
- rm -rf $TomcatCache
- $StartTomcat
- fi
- echo "------------------------------"
- }
- Monitor >>$TomcatMonitorLog
-
-
- OK crontab。
-