Cron 語法
Cron 是類 Unix 系統上基於時間的任務調度工具,允許根據預定的時間表自動執行腳本或指令。
基本結構
分鐘 小時 日期 月份 星期
* * * * *
| 欄位 | 範圍 | 備註 |
|---|---|---|
| 分鐘 | 0–59 | |
| 小時 | 0–23 | |
| 日期 | 1–31 | |
| 月份 | 1–12 | 也可用 Jan–Dec |
| 星期 | 0–7 | 0 和 7 皆代表星期日 |
特殊符號
| 符號 | 意義 | 範例 |
|---|---|---|
* | 每一個值 | * * * * * 每分鐘 |
, | 列舉多個值 | 1,15 * * * * 每小時第 1 和第 15 分 |
- | 範圍 | 1-5 代表 1 到 5 |
/ | 間隔 | */5 每 5 個單位 |
常見範例
# 每天凌晨 2:30 執行
30 2 * * *
# 週一到週五凌晨 2:30 執行
30 2 * * 1-5
# 每 5 分鐘執行一次
*/5 * * * *
# 每月 1 日午夜執行
0 0 1 * *
# 每週日凌晨 3 點執行
0 3 * * 0
# 每小時的第 0 分和第 30 分執行
0,30 * * * *
常見使用場景
- 定時備份:每天或每週自動備份資料庫或檔案系統
- 日誌管理:定時清理、壓縮或轉儲日誌檔案
- 資料同步:定時從 API 抓取資料或進行同步
- 系統維護:資源釋放、安全掃描、監控檢查
- 定時通知:根據排程發送報告或提醒
Cron vs 日期套件
Cron 與 datetime(Python)、dayjs(JavaScript)等日期套件定位不同:
| Cron | 日期套件 | |
|---|---|---|
| 用途 | 任務調度(觸發執行) | 時間資料運算與格式化 |
| 描述方式 | 時間表達式(「每週一凌晨」) | API 操作(add、format、diff) |
| 應用範疇 | 後台批次、系統維護、定時腳本 | 前端顯示、時間計算、資料處理 |