新聞發布
管理系統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