Cron 排程視覺化產生器
Cron Expression Builder Cron 排程產生器
透過圖形化介面快速建立 Cron 排程,支援視覺化設定、Reverse Parse、 Next Run 預覽與常用 Presets。無需手動撰寫複雜的 Cron Expression。
常用 Presets
每分鐘
每小時
每 5 分鐘
每 6 小時
每天凌晨 3 點
平日 18:30
每週日
每月 1 號
每年 1/1
平日每 10 分鐘
每 2 小時
視覺化排程設定
*
*
*
*
*
Cron Expression
* * * * *
每分鐘執行
✓ 格式正確
Next Run 預覽
以當前時間計算設定排程後將顯示接下來 5 次執行時間
Reverse Parse — 貼上 Cron 解析
常見問題 (FAQ)
Cron Expression 是什麼?
Cron Expression(Cron 表達式)是一種用於描述定時任務執行時間的字串格式,廣泛用於 Linux Crontab、Kubernetes CronJob、GitHub Actions 等系統。標準的 5 欄位格式為:
每個欄位可以是數字、
分 時 日 月 星期每個欄位可以是數字、
*(任意)、,(列表)、-(範圍)、/(步進)。
五欄位與六欄位 Cron 有什麼差異?
標準 Linux Crontab 使用 5 欄位:
分 時 日 月 星期。部分應用(如某些 Java Quartz Scheduler)支援 6 欄位,在開頭增加 秒:秒 分 時 日 月 星期。本工具使用標準 5 欄位格式,這是 Linux Crontab 與 Kubernetes CronJob 通用的格式。
特殊符號 * , - / 分別代表什麼?
•
•
•
•
這些符號可以組合使用,例如
* (星號):表示「每個」,如每天、每小時•
, (逗號):列表,如 1,3,5 表示第 1、3、5 個•
- (減號):範圍,如 1-5 表示 1 到 5•
/ (斜線):步進,如 */5 表示每 5 個單位這些符號可以組合使用,例如
*/15 9-17 * * 1-5 表示週一到週五的 9 點到 17 點之間每 15 分鐘執行一次。
如何在 Linux 中使用 Crontab?
使用
使用
crontab -e 編輯當前使用者的 Crontab 檔案。每行一個任務,格式為:0 3 * * * /usr/bin/backup.sh使用
crontab -l 列出當前任務,crontab -r 刪除所有任務。Crontab 中的 % 需要跳脫,建議將腳本寫入 .sh 檔案後再執行。
Kubernetes CronJob 的 Cron 格式和 Linux 一樣嗎?
基本一致。Kubernetes CronJob 使用相同的 5 欄位格式,但有一個重要差異:Kubernetes 使用 UTC 時間(而非系統 Localtime),且要求欄位不能使用非標準的別名(如
範例 Kubernetes CronJob YAML:
@yearly)。此外,Kubernetes CronJob 支援 timeZone 欄位指定時區(需啟用 CronJobTimeZone 功能閘門)。範例 Kubernetes CronJob YAML:
spec:
schedule: "0 3 * * *"
timeZone: "Asia/Taipei"
jobTemplate:
spec:
template:
spec:
containers:
name: hello
Cron 中的星期天是 0 還是 7?
兩者都可以。在標準 Cron 中,Day of Week 欄位接受
0 或 7 表示星期日。部分實作(如 Quartz Scheduler)使用 1(星期一)到 7(星期日)。本工具使用標準 Linux Crontab 慣例:0 為星期日,1-6 為週一到週六。
如何驗證我的 Cron 排程是否正確?
本工具提供三種驗證方式:
• 即時 Human Readable:產生後立即顯示人類可讀的描述文字
• Next Run 預覽:顯示接下來 5 次實際執行時間,幫助確認排程是否符合預期
• 格式驗證:自動檢查欄位值是否超出範圍、特殊符號使用是否正確
建議建立排程後先檢查 Next Run 預覽,確保執行時間正確無誤再部署。
• 即時 Human Readable:產生後立即顯示人類可讀的描述文字
• Next Run 預覽:顯示接下來 5 次實際執行時間,幫助確認排程是否符合預期
• 格式驗證:自動檢查欄位值是否超出範圍、特殊符號使用是否正確
建議建立排程後先檢查 Next Run 預覽,確保執行時間正確無誤再部署。
Cron 排程完整教學
Cron 是什麼?
Cron 是 Linux/Unix 系統中的定時任務排程工具,名稱源自希臘文 Chronos(時間)。Cron 以後台服務(daemon)的形式運行,根據設定檔(Crontab)中的時間規則自動執行指定的命令或腳本。
Cron 的應用範圍遠超 Linux 系統管理:
- Linux Crontab — 系統備份、日誌輪替、系統更新
- Kubernetes CronJob — 容器化環境中的定時任務
- GitHub Actions — CI/CD 管線的排程觸發
- NAS 系統 — 資料同步、快照排程
- 資料庫維護 — 定期備份、索引重建
- 監控告警 — 定期健康檢查、指標收集
Cron Expression 欄位說明
| 欄位 | 範圍 | 說明 |
|---|---|---|
| Minute | 0–59 | 小時內的分鐘數 |
| Hour | 0–23 | 一天內的小時數 |
| Day of Month | 1–31 | 月份中的日期 |
| Month | 1–12 | 年份中的月份 |
| Day of Week | 0–7 | 星期 (0,7=日, 1=一 … 6=六) |
實際應用範例
0 3 * * *
每天凌晨 3 點執行資料庫備份
*/5 * * * *
每 5 分鐘執行網站健康檢查
0 */6 * * *
每 6 小時同步資料至備援站點
30 4 1 * *
每月 1 日 4:30 產生月度報表
0 22 * * 5
每週五晚上 10 點部署版本
0 0 1 1 *
每年 1 月 1 日歸零年度統計