一个脚本导致Linux不断重启,使用脚本实现故障时自动重启Apache

最近不知道为什么博客总是莫名其妙地挂掉,

重启Apache就好了,我也懒得去研究到底是哪里出了问题。

只是每次都需要手工SSH上去重启Apache,有点麻烦。

而且有时候在夜里挂掉,一晚上博客就都不能访问了。

后来终于忍无可忍,写了一段脚本来做这件事,代码如下:

#!/bin/sh

if ( wget --timeout=5 -q --spider http://leonax.net/ )

then

echo "ok"

else

/etc/init.d/httpd restart

echo "httpd restarted"

fi

原理很简单,就是尝试访问一下博客(第三行),

如果有什么问题,就重启Apache(第七行)。

其中wget的参数–spider表示只是访问一下,并不下载内容。

如果你喜欢的话,还可以在else中加一段发邮件的代码,

把Apache的error log直接发到邮件,方便分析,不过我就懒得做了。

然后把这段代码保存为check_apache.sh,添加到crontab中:

*/5 * * * * /var/www/check_apache.sh

其中*/5表示每5分钟运行一下check_apache.sh。

注意打开crontab的时候要使用sudo,因为重启Apache需要sudo权限。

非常实用的一个小功能,给使用Linux的小伙伴们发福利啦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值