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

 

 

 

搞定,拿碗打飯!!

 

如果文章對您有幫助,可以的話請幫我點個贊吧,謝謝~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM