- vim selfrestart.sh #创建自启动脚本,将如下内容添加到文件中,脚本的值可能有所更改
#!/bin/sh # func:自动监控tomcat脚本并且执行重启操作 # author:reed # date:12/09/2012 # 定义环境变量 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.7.0_79 export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin # DEFINE # 获取tomcat进程ID TomcatID=$(ps -ef |grep tomcat_1 |grep -w ‘tomcat_1‘|grep -v ‘grep‘|awk ‘{print $2}‘) # tomcat启动程序(这里注意tomcat实际安装的路径) StartTomcat=/usr/local/tomcat_1/bin/./startup.sh # 定义要监控的页面地址 WebUrl=http://127.0.0.1 # 日志输出 GetPageInfo=/tmp/TomcatMonitor.Info TomcatMonitorLog=/tmp/TomcatMonitor.log Monitor( ) { echo "[info]开始监控tomcat_1...[$(date +‘%F %H:%M:%S‘)]" TomcatServiceCode=$(curl -I -m 10 -o /dev/null -s -w %{http_code}"\n" $WebUrl) if [ $TomcatServiceCode -eq 200 ]; then echo "[info]页面返回码为$TomcatServiceCode,tomcat正在运行,测试页面正常......" elif [ ! -n $TomcatID ]; then kill -9 $TomcatID # 杀掉原tomcat_1进程 else echo " tomcat停止运行,页面返回码为$TomcatServiceCode,3秒后开始重新启动"| mail -s "tomcat status" [email protected] echo " tomcat停止运行,页面返回码为$TomcatServiceCode,3秒后开始重新启动"| mail -s "tomcat status" [email protected] echo "[info]tomcat停止运行,页面返回码为$TomcatServiceCode " $StartTomcat fi } Monitor>>$TomcatMonitorLog
2.crontab -e #编辑定时任务,如图
每分钟执行一次。
3. 查看我们定义的/tmp/TomcatMonitor.log日志文件,我们可以看到具体的情况,可以进行测试,将tomcat停止掉。过1分钟后tomcat会自动启动,同时也可以查看邮件。
时间: 2025-01-03 16:34:11