一个监测并自动重启tomcat6服务的shell脚本
时间:2014-09-30 22:01 来源:linux.it.net.cn 作者:it
一个用于监测并自动重启tomcat6服务的shell脚本
正在运行的tomcat6服务器,过一段时间自动挂掉,每次都要手动重启tomcat。
以下脚本可以检测故障,当出现问题时自动重启。
代码如下:
复制代码代码示例:
#!/bin/bash
#check tomcat6 status,then restart
if [ ! -f /tmp/down_count ];then
echo "0" > /tmp/down_count
fi
curl -I tomcat-host -o "/tmp/status" >/dev/null 2>&1
code=`awk 'NR==1 {print $2}' /tmp/status`
if [ "${code}" -ge 500 ];then
down=`expr $(cat /tmp/down_count) + 1`
echo "$down" > /tmp/down_count
if [ "$down" -gt 3 ];then
if [ ! -f "/tmp/restart_count" ];then
echo "0" > /tmp/restart_count
fi
restart_count=`expr $(cat /tmp/restart_count) + 1`
echo "$restart_count" > /tmp/restart_count
if [ "$restart_count" -le 2 ];then
echo "tomcat down at `date`" >> /tmp/down_info
/etc/init.d/tomcat6 restart
fi
fi
else
echo "0" > /tmp/down_count
echo "0" > /tmp/restart_count
fi
代码说明:
当检测网页状态码大于等于500,并且连续出现3次时,自动重启tomcat6,且只连续重启两次。
以上的shell脚本,固然好用,但是在生产环境中,还是建议排查下tomcat6自动重启的原因,从根本上解决问题。
(责任编辑:IT)
一个用于监测并自动重启tomcat6服务的shell脚本
正在运行的tomcat6服务器,过一段时间自动挂掉,每次都要手动重启tomcat。
代码如下:
复制代码代码示例:
#!/bin/bash
#check tomcat6 status,then restart if [ ! -f /tmp/down_count ];then echo "0" > /tmp/down_count fi curl -I tomcat-host -o "/tmp/status" >/dev/null 2>&1 code=`awk 'NR==1 {print $2}' /tmp/status` if [ "${code}" -ge 500 ];then down=`expr $(cat /tmp/down_count) + 1` echo "$down" > /tmp/down_count if [ "$down" -gt 3 ];then if [ ! -f "/tmp/restart_count" ];then echo "0" > /tmp/restart_count fi restart_count=`expr $(cat /tmp/restart_count) + 1` echo "$restart_count" > /tmp/restart_count if [ "$restart_count" -le 2 ];then echo "tomcat down at `date`" >> /tmp/down_info /etc/init.d/tomcat6 restart fi fi else echo "0" > /tmp/down_count echo "0" > /tmp/restart_count fi
代码说明: 以上的shell脚本,固然好用,但是在生产环境中,还是建议排查下tomcat6自动重启的原因,从根本上解决问题。 |