Apache状态监测集重启

注:此文摘自:http://www.111cn.net/sys/linux/63718.htm

原理:通过服务器本地访问自身Apache服务(与用户访问网站类似),如超过15s没有返回正常的220头代码信息,说明Apache服务已经停止运行了,则立即重启httpd服务。

1、在Linux服务器上执行vi编辑一个新脚本,并把下面脚本代码复制进去,然后退出并保存

  [root@localhost /]# vi /opt/autorshttpd
    #!/bin/bash
    URL="http://127.0.0.1/"
    curlit()
    {
    curl --connect-timeout 15 --max-time 20 --head --silent "$URL" | grep '200'
    }
    doit()
    {
    if ! curlit; then
    /etc/init.d/httpd restart > /dev/null
    fi
    }
    while true; do
    doit > /dev/null
    sleep 10
    done

2、给脚本赋予可执行权限

[root@localhost /]# chmod 755 /opt/autorshttpd

3、执行脚本

  [root@localhost /]# sh /opt/autorshttpd &

注:在这里sh命令后面要加个&符号,是为了方便我们远程SSH操作的,如果不加&符号,那关闭SSH远程界面,此进程也就随之结束了,加上&符号,即使关闭SSH远程也可以让程序在后台运行,别忘了用exit命令退出登陆后,再关闭SSH远程界面

4、让脚本开机自动运行

  [root@localhost /]# vi /etc/rc.local

  在最后面加上sh /opt/autorshttpd这一行即可。

posted @ 2017-06-21 11:10  转角处  阅读(168)  评论(0编辑  收藏  举报