centos使用crontab实现nginx服务的定时开启和关闭

是的,你没有看错,帅帅最近就遇到了这样一个奇怪需求:

线上网站,需要在每天晚上的10点关闭(不能访问),然后在每天早上的8点开启(继续能访问)。

 

想了下,直接每天10点关闭nginx服务,第二天早上再开启nginx服务不就行了?

说干就干,接下来,crontab上场:

 

一、制作sh命令文件

    咱们先做俩sh命令文件,直接手动执行这两个sh命令文件,即可实现相应的效果:

    ①开启nginx服务:

/opt/softs/nginx/sbin/nginx

    ②关闭nginx服务:

/opt/softs/nginx/sbin/nginx -s stop

    注:/opt/softs/nginx 为nginx安装路径

 

    然后保存为俩sh文件:

    

 

 

   将这俩sh文件,拷贝到服务器上存放起来:

    

 

    命令进入/opt/softs/bat文件夹,给这俩sh文件赋予可执行权限:

chmod +x <filename>

    如图:

    

 

二、制作crontab命令

    打开crontab编辑:

crontab -e

    编辑&填写命令(先输入一下“i”,即可进行编辑):

0 22 * * * sh /opt/softs/bat/nginx_stop.sh
0 8 * * * sh /opt/softs/bat/nginx_start.sh

    第一行表示:每天22点,执行一下路径为 /opt/softs/bat/nginx_stop.sh 的sh文件;

    第二行表示:每天8点,执行一下路径为 /opt/softs/bat/nginx_start.sh 的sh文件。

    由于我们在制作sh文件的时候,就把nginx的开启、关闭命令写进去了,所以当每次执行sh文件的时候,就会相应地对nginx进行开启、关闭操作。

 

    编辑完成后,按一下“esc”退出编辑,再输入“:wq”进行保存。

    最后,别忘了重启一下crontab,使配置生效:

/bin/systemctl restart crond.service

 

   另外,输入以下命令,可查看所有运行的任务:

crontab -l

 

 

 

搞定,拿碗打饭!!

 

如果文章对您有帮助,可以的话请帮我点个赞吧,谢谢~

 

posted @ 2021-06-24 18:23  吴所畏惧  阅读(1055)  评论(0编辑  收藏  举报