非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
然后往计划任务添加一下这个脚本,一分钟一次的频率够了。