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