linux监控tomcat状态的脚本文件,并且30秒发送邮件

monitorTomcat.sh

#!/bin/sh

#Tomcat启动程序(根据自己路径编写)
StartTomcat=/usr/tomcat/apache-tomcat-7.0.90/bin/startup.sh
TomcatCache=/usr/tomcat/apache-tomcat-7.0.90/work
#定义要监控的页面地址(写比较简单页面即可)
WebUrl=http://localhost:8080
#日志输出
TomcatMonitorLog=/tmp/TomcatMonitor.log

Monitor(){
    #获取tomcat进程ID
    TomcatID=$(ps -ef | grep tomcat | grep -w 'tomcat'|grep -v 'grep'|awk '{print $2}')
    
     echo "[info]开始监控tomcat...[$(date +'%F %H:%M:%S')]"
     #判断Tomcat进程是否存在
     if [[ $TomcatID ]];then
         echo "[info]当前tomcat进程ID为:$TomcatID,继续检测......"
         #检测是否启动成功(成功的话页面会返回状态"200")
         TomcatServiceCode=$(curl -I -m 10 -o /dev/null -s -w %{http_code} $WebUrl)
         if [ $TomcatServiceCode -eq 200 ];then
           echo "[info]返回码为$TomcatServiceCode,tomcat启动成功,测试正常......"
        else
           echo "[error]tomcat出错,请注意......状态码为$TomcatServiceCode,错误日志已输出到$TomcatMonitorLog[error],开始重启tomcat"
           #杀掉原tomcat进程
           kill -$TomcatID  
           sleep 3
           #清理tomcat缓存
           rm -rf $TomcatCache  
           $StartTomcat
        fi
    else
        echo "[error]tomcat进程不存在!tomcat开始自动重启......[info]$StartTomcat,请稍候......"
        rm -rf $TomcatCache
        $StartTomcat
    fi
        echo "-------------------"
}


step=30
while(true)
do
    Monitor
    #>>$TomcatMonitorLog
    sleep $step
done

猜你喜欢

转载自blog.csdn.net/qq_42035966/article/details/81332596