crontab 讓系統按排程自動執行命令,是運維自動化的基石。本文系統整理常用參數、時間格式與豐富範例,助你快速上手。
| 命令 | 說明 |
|---|---|
crontab -u <user> | 設定指定使用者的排程(需 root) |
crontab -l | 列出目前使用者的排程 |
crontab -r | 刪除目前使用者的排程 |
crontab -e | 編輯排程(類 vi 操作) |
* * * * * command 分 時 日 月 周 命令
* 或 */1 表每分鐘特殊符號:, 列舉、- 範圍、/ 步長、* 任意。
| 排程 | 含義 |
|---|---|
30 21 * * * /etc/init.d/smb restart | 每晚 21:30 重啟 smb |
45 4 1,10,22 * * /etc/init.d/smb restart | 每月 1、10、22 日 04:45 重啟 |
10 1 * * 6,0 /etc/init.d/smb restart | 每週六、日 01:10 重啟 |
0,30 18-23 * * * /etc/init.d/smb restart | 每天 18:00-23:00 每半小時重啟 |
0 23 * * 6 /etc/init.d/smb restart | 每週六 23:00 重啟 |
0 */1 * * * /etc/init.d/smb restart | 每小時重啟(注意:* */1 會變每分鐘) |
0 23-7/1 * * * /etc/init.d/smb restart | 23:00-07:00 每小時重啟 |
0 11 4 * mon-wed /etc/init.d/smb restart | 每月 4 號及每週一至三 11:00 重啟 |
0 4 1 jan * /etc/init.d/smb restart | 1 月 1 日 04:00 重啟 |
/usr/bin/python3),環境變數極少。>/dev/null 2>&1 抑制郵件通知;或導向日誌 >>/var/log/mytask.log 2>&1。/etc/crontab 或放入 /etc/cron.d/,並指定使用者欄位。善用 crontab,讓重複性工作自動化,運維更從容。