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),且要求欄位不能使用非標準的別名(如 @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 欄位接受 07 表示星期日。部分實作(如 Quartz Scheduler)使用 1(星期一)到 7(星期日)。本工具使用標準 Linux Crontab 慣例:0 為星期日,1-6 為週一到週六。
如何驗證我的 Cron 排程是否正確?
本工具提供三種驗證方式:
即時 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 欄位說明

欄位範圍說明
Minute0–59小時內的分鐘數
Hour0–23一天內的小時數
Day of Month1–31月份中的日期
Month1–12年份中的月份
Day of Week0–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 日歸零年度統計