Cron 排程入門:Linux 定時任務完整教學
Cron 是 Unix/Linux 系統中最經典的定時任務排程工具。無論是定期備份資料庫、清理日誌檔案,還是發送報表通知,Cron 都是系統管理員和開發者的必備工具。
Cron 的歷史
Cron 最早由 Ken Thompson 在 Version 7 Unix(1979 年)中實作。1987 年,Paul Vixie 發布了更為完善的 Vixie cron,這個版本成為了大多數 Linux 發行版中 Cron 的基礎。
Cron 表達式語法
一個標準的 Cron 表達式由五個欄位組成:
| 欄位 | 範圍 | 特殊字元 |
|---|---|---|
| 分鐘 | 0-59 | * , - / |
| 小時 | 0-23 | * , - / |
| 日期 | 1-31 | * , - / ? L W |
| 月份 | 1-12 | * , - / |
| 星期 | 0-7 (0 和 7 都是週日) | * , - / ? L # |
特殊字元說明
- * — 代表所有可能的值
- , — 列舉多個值,如
1,3,5 - - — 指定範圍,如
1-5 - / — 指定間隔,如
*/5表示每 5 個單位
快速記憶:Cron 的五個欄位順序為「分 時 日 月 週」。可以用口訣「分時日月週」來幫助記憶。
常見範例
| 表達式 | 說明 |
|---|---|
0 * * * * | 每小時整點執行 |
0 0 * * * | 每天午夜執行 |
0 9 * * 1-5 | 每個工作日早上 9 點 |
*/15 * * * * | 每 15 分鐘執行一次 |
0 0 1 * * | 每月 1 日午夜執行 |
Crontab 管理指令
crontab -e— 編輯目前使用者的 Crontabcrontab -l— 列出目前的排程任務crontab -r— 移除所有排程任務
使用工具解析你的 Cron 表達式
立即使用 Cron 表達式解析工具 →結語
Cron 是 Linux 系統自動化的基石。掌握 Cron 表達式語法,能幫助你有效地管理各種定時任務,提升系統運維效率。
參考文獻
- IEEE/Open Group. "crontab — schedule periodic background work." POSIX.1-2017. https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html
- Vixie, P. "Vixie Cron." ISC. https://github.com/vixie/cron
- Linux man pages. "crontab(5) — tables for driving cron." Linux Programmer's Manual. https://man7.org/linux/man-pages/man5/crontab.5.html