Linux下监控httpd并自动重启apache

1、创建被监控的文件 test.html 内容如下:

OK

为了尽可能简单,这里只用一个 OK 的空 html 文件作为监控文件

 

2、创建脚本 auto_restart_apache.sh ,内容如下:

#!/bin/sh
while true; do
if ( wget --timeout=5 -q --spider http://www.xxx.com/ok.html )
then
echo "OK at `date +%y-%m-%d\ %H:%M:%S`" >> /data/apache_restart_log.log #记录到日志文件
else
service httpd restart #重启apache
echo "apache restart at `date +%y-%m-%d\ %H:%M:%S`" >> /data/apache_restart_log.log  #记录到日志文件
echo "httpd restarted"
fi
sleep 10 #10秒钟运行一次
done

3、后台运行 auto_restart_apache.sh 监控脚本: sh auto_restart_apache.sh &

前台运行与后台运行脚本的区别就是结尾的 & 符号。

附注:

1) 执行这条命令后通常会给出一个进程号例如 2239,如果需要杀死这个脚本进程,可以使用命令杀死即可: sudo kill 2239

2) 事后如想查看这一进程,可以使用如下命令: ps -ef | grep apache

上一篇:WebApi 插件式构建方案:重写的控制器获取工厂


下一篇:Android Activity启动流程, app启动流程,APK打包流程, APK安装过程