#!/bin/sh # func:自动监控tomcat并且在异常时执行重启操作 # 获取tomcat进程ID TomcatID=$(ps -ef |grep tomcat |grep -w 'apache-tomcat-7.0.90'|grep -v 'grep'|awk '{print $2}') echo $TomcatID StartTomcat=/root/apache-tomcat-7.0.90/bin/startup.sh GetPageInfo=/tmp/tomcatMonitor.Info
WebUrl=http://192.168.217.133:8080/cloudwalk-standard-pay/index.html Monitor(){ echo "[info]开始监控tomcat...[$(date +'%F %H:%M:%S')]" TomcatServiceCode=$(curl -s -o $GetPageInfo -m 10 --connect-timeout 10 $WebUrl -w %{http_code}) if [ $TomcatServiceCode -eq 200 ];then echo "[info]页面返回码为$TomcatServiceCode,测试页面正常...[$(date +'%F %H:%M:%S')]" else kill -9 $TomcatID sleep 3 echo "[info]启动tomcat...[$(date +'%F %H:%M:%S')]" $StartTomcat fi
} Monitor >> /tmp/monitor.log
root用户赋予执行权限:chmod 777 /tmp/monitor.sh编辑monitor.sh文件,修改root用户执行命令编辑文件:vim /etc/rc.local。添加monitor.sh开机启动命令root执行命令赋予rc.local执行权限 chmod 777 /etc/rc.local测试开机启动