Linux监控apache脚本

监控apache脚本:

1、每十分钟检查apache是否正常运行

分析:进程在运行如何判断

1)lockfile是否存在

2)pid是在后台存在

3)能否正常访问页面

2、如果apache运行不正常(进程死亡、页面访问也不正常等情况),

需要脚本能够通过重启apache进程来恢复正常。

分析:

1)先恢复后报警

2)如何恢复

3)如何报警

3、当apache故障时能通过邮件及短信报警,当apache故障恢复后能够通知管理员

1)重新检查apache是否正常

2)如果正常发信息告诉管理员已经自动恢复成功

3)如果apache还是不正常,发信息告知管理上线手工修复

bash 复制代码
#!/bin/bash

if [ -f /var/lock/subsys/httpd ]
then
        export pid=`cat /var/run/httpd/httpd.pid`
        ps -p $pid | grep httpd &> /dev/null
        REL1=$?
        elinks -dump http://localhost/ok.html &> /dev/null
        REL2=$?

        if [ 0 -eq $REL1 ] && [ 0 -eq $REL2  ]
        then
                        : 
        else
                        pkill -9 httpd
                        service httpd restart &> /dev/null
                        REL3=$?
                        echo "httpd is not OK" | mail -s "httpd is not ok" root@localhost
                        sleep 3s
 
                        if [ $REL3 -eq 0 ]
                        then
                                echo "httpd is recovered OK" |  mail -s "httpd is recovered ok" root@localhost
                        else
                                echo "httpd is recovered not OK,please login your server and recover by yourself" | mail -s "httpd is recovered not ok" root@localhost
                        fi
        fi
else
                        service httpd start &> /dev/null
                        REL4=$?
                        echo "httpd is not OK" | mail -s "httpd is not ok" root@localhost
 
                        sleep 3s
                        if [ $REL4 -eq 0 ]
                        then
                                echo "httpd is recovered OK" |  mail -s "httpd is recovered ok" root@localhost
                        else
                                echo "httpd is recovered not OK,please login your server and recover by yourself" | mail -s "httpd is recovered not ok" root@localhost
                        fi

fi
bash 复制代码
*/10 * * * * sh httpd.sh
相关推荐
筏.k10 分钟前
C++ asio网络编程(4)异步读写操作及注意事项
服务器·网络·c++
wanhengidc34 分钟前
在线服务器具体是指什么?
运维·服务器·网络
czhc114007566344 分钟前
Linux511SSH连接 禁止root登录 服务任务解决方案 scp Vmware三种模式回顾
运维·服务器·数据库
TianJinZi1 小时前
linux环境安装docker
linux·运维·docker
workflower2 小时前
人协同的自动化需求分析
运维·开发语言·自动化·软件工程·需求分析·软件需求
妄想成为master2 小时前
如何租用服务器并通过ssh连接远程服务器终端
服务器·ssh·远程服务器链接
一只程序熊2 小时前
【uniapp】errMsg: “navigateTo:fail timeout“
服务器·前端·uni-app
IT飞牛2 小时前
Linux服务器常用运维工具/命令
linux·运维·服务器
兰德里的折磨5502 小时前
新手在使用宝塔Linux部署前后端分离项目时可能会出现的问题以及解决方案
linux·运维·服务器
bjzhang752 小时前
CentOS的防火墙工具(firewalld和iptables)的使用
linux·运维·centos