在 Ubuntu 20.04 透過 crontab 設定工作排程範例教學
電腦能幫人類做許多工作,
除了這些工作由電腦代勞以外,
有週期性的例行工作也可以交由電腦來處理,
今天就來教大家
在 Ubuntu 20.04 透過 crontab 設定工作排程範例教學
在 Ubuntu 20.04 使用 crontab 來設定排程工作,
使用命令crontab -l
就能夠觀看目前的排程工作有哪些。
非常重要的一點:
如果是在 crontab 直接執行命令的話記得加上
SHELL=/bin/bash
系統不會執行;
若執行的命令是一個 .sh檔案,
因為 .sh 檔案上方已經有
!/bin/bash
故不會有此問題。
再沒有執行就先檢查下服務有沒有跑
sudo /etc/init.d/cron status
若要新增修改排程工作,
則使用命令:
crontab -e
進入之後系統會在上方顯示一個簡單的說明,
最後一行的m h dom mon dow command
每個欄位都代表著不同的意義
- m:分, 0 ~ 59
- h :時, 0 ~ 23
- dom: 日期, 1 ~ 31
- mon: 月份, 1 ~ 12
- dow: 星期幾, 1 ~ 7
- command 要執行的排程工作
除了指定的時間點以外,
可以透過特殊字元來簡化設定的方式,
例如
- 星號 ( * ): 表示任意時間點。
- 逗號 (,): 表示多個時間點,以逗號將其分隔開。
- 減號( – ): 表示一段時間。
- 斜線( / ):加上數字,表示每隔多少時間就執行。
除了上述這些特殊字元以外,
可透過 @ 與部分的字串進行特殊的例行工作。如:
- @reboot :重開機就執行
- @daily :每天執行
- @weekly :每周執行
- @hourly :每小時執行
- @monthly:每月執行
等
底下舉幾個範例:0 4 * * * your-cmd
:每天四點執行 your-cmd0 */2 * * * your-cmd
:每隔兩個小時執行@daily your-cmd
:每天執行0 3,5 * * * your-cmd
:每天 3點,5點執行
若要自動刪除 7 天前的資料
1 * * * * rm date --date="-7 day" +"\%Y-\%m-\%d"*.gz
或者自動刪除 7天前 tmp 資料夾中的所有副檔名為 tgz 的檔案
1 * * * * find /tmp/ -type f -name "*.tgz" -mtime +7 -exec rm -rf {} \;
================================
分享與讚美,是我們繼續打拼的原動力.
若文章對您有幫助,望請不吝按讚或分享.
或者對影片有興趣可以訂閱頻道接收通知
================================
YouTube 頻道
FB 粉絲專頁
================================