Ubuntu 下监控并自动重启 Apache

很多时候网站服务器挂掉手工重启是件很麻烦的事情,使用以下方法可以做到自动重启,并且生成相应的日志记录。相关文章:Ubuntu 下监控并自动重启网卡

1 创建被监控的文件 OK.php

内容如下:

为了尽可能简单,这里只用一个内容为 OK 的空 php 文件作为监控文件。
当然如果你想要监控其他状态不妨也写在这个 OK.php,例如监控 MySQL 连接是否在正常:

总之,只要正常时返回 OK 即可。

上传此文件到服务器根目录:/var/www/

2 创建脚本 auto_restart_apache.sh

内容如下:

上传此文件到服务器。

注释:
1)该脚本会读取 OK.php 文件并且在本地生成 apache_restart_logs.txt 日志文件。
2)如果不能访问到 OK.php 则重启 apache 服务。

3 创建定时任务

创建定时任务有两种方法一种是直接编辑 /etc/crontab,运行:

在后面添加:

其中 */30 表示每 30 分钟执行一次脚本。
关于 crontab 时间说明如下:

另一种是使用命令:

在后面添加:

我的理解,这两种方式前者添加的是一个整个系统所有用户的定时任务,所以在时间后面需要指定用户 root。后者是当前用户的定任务。采用哪一种都可以。

重启定时任务:

如果顺利的话这一脚本就会每隔 30 分钟执行一次,并且可以在 /alidata/tools/apache_restart_logs.txt 看到脚本执行的日志以及 /alidata/tools/logs.txt 看到每次执行的输出。因为频率低以及只输出不多的几个字符,这两个 log 文件通常不会增加很多,不过也应当注意下及时清除。

Add a Comment

您的电子邮箱地址不会被公开。 必填项已用 * 标注