新闻发布
管理系统Nginx web服务已经应用在很多web项目,一些集成安装环境里面也默认集成Nginx,而nginx时常也会出现一些莫名的假死状态,为了解决这个问题,大部分的运维采用自动重启的来解决这个问题。近手上一个项目就有这样的需求。由于采用的wdlinux的集成安装环境,自带的webrestart.sh的自动重启脚本,但是发现不成功,今天彻底解决一下这个问题。
问题总结:wdlinux的这个重启web服务脚本依靠的是crontab的linux自动服务,通过spool服务发现脚本有点问题。crontab和重启命令都有问题,我这边的服务器版本centos7.3
1、使用crontab -e后,正常添加,启动crond 但是并没有起作用,
这是因为编辑crond任务有问题:
完整:
SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
2、通过spool服务可以查看相关服务报错
From root@ebs-56951.localdomain Wed Apr 8 15:36:01 2020 Return-Path: X-Original-To: root@ebs-56951 Delivered-To: root@ebs-56951.localdomain Received: from ebs-56951 (localhost [127.0.0.1]) by ebs-56951.localdomain (Postfix) with ESMTP id 5256720738 for Received: (from root@localhost) by ebs-56951 (8.14.7/8.14.7/Submit) id 0387a1D8014091; Wed, 8 Apr 2020 15:36:01 +0800 Date: Wed, 8 Apr 2020 15:36:01 +0800 Message-Id: From: "(Cron Daemon)" To: root@ebs-56951.localdomain Subject: Cron Content-Type: text/plain; charset=GB2312 Auto-Submitted: auto-generated Precedence: bulk X-Cron-Env: X-Cron-Env: X-Cron-Env: X-Cron-Env: X-Cron-Env: X-Cron-Env: X-Cron-Env: X-Cron-Env: /www/wdlinux/wdcp/shell/webrestart.sh:行9: service: 未找到命令 web restart fail
3、修改相关命令
#!/bin/bash # wdcp tools # # author wdlinux # url http://www.wdlinux.cn tld="/www/wdlinux/wdcp/logs" [ ! -d $tld ] && mkdir -p $tld tlf=$tld/task.log netstat -lnpt | grep nginx && killall -9 nginx && systemctl start nginxd.service && date >> $tlf && echo "nginx restart success" >> $tlf && exit 0 #原先写的是 service nginxd restart date >> $tlf && echo "web restart fail" && exit 1
4、成功运行,查看task.log
2020年 04月 08日 星期三 15:05:01 CST(不成功) 2020年 04月 08日 星期三 15:10:01 CST(不成功) 2020年 04月 08日 星期三 15:15:01 CST(不成功) 2020年 04月 08日 星期三 15:20:01 CST(不成功) 2020年 04月 08日 星期三 15:25:01 CST(不成功) 2020年 04月 08日 星期三 15:30:01 CST(不成功) 2020年 04月 08日 星期三 15:35:01 CST(不成功) 2020年 04月 08日 星期三 15:40:01 CST nginx restart success