非200状态自动重启Tomcat

200,http状态码,非200就不正常。
获取网站的状态码,非200就杀掉服务器进程重新启动服务器程序就好了。

获取状态码,可以使用curl来获取

curl -I -m 10 -o /dev/null -s -w %{http_code}"\n" 127.1

-w是用于控制输出的,%{http_code}就是输出状态码

获取tomcat进程号

pgrep -f tomcat

杀进程linux下御用kill -9 pid

综合一下,代码如下

#!/bin/bash
http_code=$(curl -I -m 10 -o /dev/null -s -w %{http_code}"\n" 127.1)
if [ "$http_code" != "200" ]; then
	pgrep -f tomcat | while read line
	do
		kill -9 $line
	done
	service tomcat restart
fi

然后往计划任务添加一下这个脚本,一分钟一次的频率够了。

posted @ 2017-05-04 13:54  插网线的  阅读(236)  评论(0编辑  收藏  举报