是的,你沒有看錯,帥帥最近就遇到了這樣一個奇葩需求:
線上網站,需要在每天晚上的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
編輯&填寫命令:
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
搞定,拿碗打飯!!
如果文章對您有幫助,可以的話請幫我點個贊吧,謝謝~