首页 > 上网技巧 > 电脑小技巧 > Linux下如何监控httpd挂了没有并自动重启apache

Linux下如何监控httpd挂了没有并自动重启apache

时间:2018-04-16 10:29 作者:QQ地带 我要评论

1、创建被监控的文件 test.html 内容如下:
OK
 
为了尽可能简单,这里只用一个 OK 的空 html 文件作为监控文件。
上传此文件到服务器根目录:/var/www/
 
2、创建脚本 auto_restart_apache.sh ,内容如下:
 
#!/bin/bash
while [ 1 ]
do
        wget http://127.0.0.1/test.html > /dev/null 2>&1
        if [ $? -ne 0 ]
        then
                service apache2 restart >/dev/null 2>&1
                        echo "apache restart at `date +%y-%m-%d\ %H:%M:%S`" >> apache_restart_logs.txt
        else
                wt=`cat test.html`
                if [ $wt != 'OK' ]
                then
                        service apache2 restart > /dev/null 2>&1
                        echo "apache restart at `date +%y-%m-%d\ %H:%M:%S`" >> apache_restart_logs.txt
                fi
        fi
rm -rf test.html
sleep 1m
done
上传此文件到服务器。
 
注释:
1) 该脚本会读取 test.html 文件并且在本地生成 apache_restart_logs.txt 日志文件。
2) 脚本中每 1分钟进行一次监控,如果 apache 服务挂掉了则会自动进行重启,如果需要自定义检查频率,可以修改其中的:
 
 
sleep 1m
 
改成 sleep 30s 等等。
 
3、后台运行 auto_restart_apache.sh 监控脚本:
 
 
sh auto_restart_apache.sh &
 
前台运行与后台运行脚本的区别就是结尾的 & 符号。
 
附注:
1) 执行这条命令后通常会给出一个进程号例如 2239,如果需要杀死这个脚本进程,可以使用命令杀死即可:
 
sudo kill 2239
 
 
2) 事后如想查看这一进程,可以使用如下命令:
 
ps -ef | grep apache
 

标签: linux
顶一下
(0)
0%
踩一下
(0)
0%

Google提供的广告