linux nginx自动重启脚本,Linux自动重启nginx httpd

最近服务器老是挂掉,重启nginx httpd之后恢复正常,实在琢磨不出来,到底问题出现在哪里,所以只能重启来解决先。今天突然想,是不是可以通过服务器的定时任务,自己检测服务是否正常,如果不正常就重启一下。说干就干,自己写一个.sh文件来执行。

Linux定时任务

在Linux中,我们使用crontab来定时执行某些任务。在《linux计划任务crontab使用方法》一文中我已经详细讲了crontab的用法,就不再赘述如何创建定时任务。

我们这次要判断服务是否正常,通过判断来决定是否重启服务,所以只能通过shell脚步来执行命令,在计划任务中加入这个shell脚本。

vi /opt/autorestart.sh ##下面一部分会讲解写什么内容

chmod 755 /opt/autorestart.sh ##可执行权限crontab -e

在crontabs中增加一个计划任务:

*/10 * * * * /opt/autorestart.sh

每隔10分钟执行一次autorestart.sh脚本。

crontab reload

重载一下服务。

shell脚本内容

我们在shell脚本中对服务进行判断,如果nginx或者httpd宕机了,就执行一条重启命令:

#!/bin/bash

#nginx

ps -ef | grep nginx |grep -v grep > /dev/nullif [ $? != 0 ];thenservice nginx restart > /dev/nullfi#httpd

ps -ef | grep httpd |grep -v grep > /dev/null

if [ $? != 0 ];then

service httpd restart > /dev/nullfi

上面蓝色的代码就是一组判断和执行命令的代码,你可以复制以后,修改为任何想要检查的服务相关的命令,比如mysql等。

shell脚本的功能强大,除了这种简单的处理之外,还可以通过复杂的编程,来实现一些比较复杂的定时任务。

2016-08-25

5926

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值