【Tool】cron 表達式(排程時間)轉換

【Tool】cron 表達式(排程時間)轉換

本篇重點

  • cron 表達式(排程時間)生成工具
  • cron 表達式轉換工具
  • 介紹 cron 和 cron 表達式
  • cron 表達式符號語法使用方式
  • 查詢所有/指定排程(crontab)的方法
  • 新增/修改/刪除排程(crontab)的方法

cron 表達式(排程時間)生成工具

  1. 從每個時間分類頁籤挑選要設定時間
  2. 依分類規則輸入
  3. 顯示 5 欄位格式的 cron 表達式,分別是分鐘(minute)、小時(hour)、日期(DOM - dayOfMonth)、月份(month)、星期(DOW - dayOfWeek),例如:5 0 * * 1
  • 設定「從哪個時間點開始」每隔多少單位執行一次,產生 起始值/間隔 的 cron 語法
  • * 表示每個可能的時間點,如果設定 * 並輸入執行間隔,* 表示從最小值開始

cron 表達式

* * * * *

說明

下次執行時間

cron 表達式轉換工具

  • 支援基本 5 欄位格式,分別是分鐘(minute)、小時(hour)、日期(DOM - dayOfMonth)、月份(month)、星期(DOW - dayOfWeek),例如:5 0 * * 1
  • 星期欄位(第 5 個欄位),0 表示星期日、1 表示星期一以此類推

cron 表達式

說明

下次執行時間

cron 表達式工具有錯誤或建議歡迎留言告訴我😁

cron 表達式工具使用範例

這邊示範如何使用 cron 表達式生成工具~

每天十二點半執行排程

  1. 切換到分鐘頁籤的固定間隔,某時刻輸入 30
    每天十二點半執行排程

  2. 切換到小時頁籤的固定間隔,某時刻輸入 12
    每天十二點半執行排程

每個星期六,每小時每15分鐘執行排程

  1. 切換到分鐘頁籤的固定間隔,某時刻輸入 *,執行間隔輸入 15
    每個星期六,每小時每15分鐘執行排程

  2. 切換到星期頁籤的固定間隔,輸入 6
    每個星期六,每小時每15分鐘執行排程

一到三月的一號和十五號,00:00 執行排程

  1. 切換到分鐘頁籤的固定間隔,某時刻輸入 0
    一到三月的一號,00:00 執行排程

  2. 切換到小時頁籤的固定間隔,某時刻輸入 0
    一到三月的一號,00:00 執行排程

  3. 切換到日期頁籤的指定時刻,某時刻輸入 1,15
    一到三月的一號,00:00 執行排程

  4. 切換到月份頁籤的區間範圍,最小值輸入 1,最大值輸入 3
    一到三月的一號,00:00 執行排程

什麼是 cron?

cron 是 Linux/Unix 系統中的一種排程工具,用來自動執行指定時間的任務,例如定時備份資料、寄送報表、執行維護腳本等。而 cron 的排程是透過 cron 表達式來定義執行的時間與頻率

cron 表達式的基本格式

bash
1
2
3
4
5
6
7
8
* * * * * <command>
- - - - -
| | | | |
| | | | +---- 星期幾 (0 - 6)(0 是星期日)
| | | +------ 月份 (1 - 12)
| | +-------- 日 (1 - 31)
| +---------- 時 (0 - 23)
+------------ 分 (0 - 59)

星號(*

表示每個可能的時間點。

例如 * * * * * 表示每分鐘都執行。

逗號(,

表示多個時間點。

例如:0 9,18 * * * 表示每天 9 點與 18 點各執行一次。

減號(-

表示時間的範圍。

例如:0 8-10 * * * 表示每天 8 點、9 點、10 點執行一次。

斜線(/

表示每個時間點間隔多少單位。

例如:0 */3 * * * 表示每 3 小時整點執行一次。

範例

cron 表達式說明
0 10 * * *每天早上 10:00 執行一次
*/15 * * * *每 15 分鐘執行一次
0 */2 * 1,10 *一月和十月每兩小時整點執行一次
0 12 * * 1-5每週一到五中午 12:00 執行 (平日)
0 0 1 * *每月 1 號的午夜 00:00 執行
0 22 * * 0,6每週六、日晚上 10:00 執行 (假日)

查詢 crontab 排程

查詢所有排程

bash
1
2
3
4
5
crontab -l

# 結果
0 10 * * 0,6 /home/user/scripts/backup.sh
0 8 * * * /home/user/scripts/deploy.sh

查詢指定排程

bash
1
2
3
4
crontab -l | grep deploy

# 結果
0 8 * * * /home/user/scripts/deploy.sh

新增/修改/刪除 crontab 排程

使用指令後會打開編輯器,直接在編輯器裡面新增/修改/刪除排程

bash
1
crontab -e

延伸閱讀

作者

健忘工程師

發表於

2025-05-30

更新於

2025-05-30

許可協議


你可能也想看

【Linux】解析資料重定向
【Linux】使用 less 查看檔案
【Hexo】多台電腦佈署 GitHub page 的問題

評論

複製完成