自动重启tomcat服务的shell脚本

发布时间:2020-01-29编辑:脚本学堂
本文介绍下,一个用于自动重启服务器上tomcat服务的shell脚本,有需要的朋友,参考下吧。

一个自用的shell/ target=_blank class=infotextkey>shell脚本,定时检测tomcat故障,发现故障时自动重启
也可以用于其它服务的监测与自动重启。

开始之前,为大家介绍一篇监测80端口并自动重启服务的文章,大家可以拿来与本文的代码,作个比较,进步会更快哦。

代码如下:
 

复制代码 代码示例:
#!/bin/bash
#www.jb200.com
    if [ !  -f /tmp/down_count ];then
        echo "0" > /tmp/down_count
    fi
    curl -I  tomcat-host -o "/tmp/status" >/dev/null 2>&1
    code=`linuxjishu/13830.html target=_blank class=infotextkey>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,且只连续重启两次。

有兴趣的朋友,可以把以上代码,改造为适用于其它服务的脚本,或修改成为一个通用的自动重启脚本,通过参数决定监测的服务类型。

大家发挥聪明才智,去实践吧。