Cron 時間表語法參考資料

本節說明在 TRIFACTA® 提供的 Cloud Dataprep 中使用 Cron 來定義排定流程執行的語法。這個方法通常用來重複執行流程,以疊加循環資料供下游使用。

  • 流程擁有者可以在「流程檢視」頁面中定義排定的流程執行。
  • 協作者可以查看,但不能編輯排程。
  • 請參閱流程檢視頁面一文。

Cron 總覽

TRIFACTA 提供的 Cloud Dataprep 允許您使用 Cron (普遍使用的語法) 來指定定期出現的時間。您可以使用 Cron,以每分鐘或每年為基礎以及這兩個時間單位之間的任意間隔來指定排程。

Cron 語法

系統會將 Cron 排程定義為以空格分隔的字串值。下列 Cron 範例將排程定義為在 2 月 1 日的晚上 11:30:00 觸發:

當月第幾日星期幾
302312*

所有值都相符時,即會觸發 Cron 工作。

注意:不支援指定秒數。

萬用字元:

在上方的 Cron 運算式中,可以使用萬用字元 * 來比對任何接受的值,這表示在判斷這個排程時,該 Cron 值類型不會列入考量。由於萬用字元被套用於星期幾值,因此一週中的任何一天都可以觸發該排程。

注意:您必須在星期幾或當月第幾日的欄位中使用 * 字元。不支援在同一個 Cron 運算式中同時指定這兩個欄位。

圖例:

Cron 運算式需要最後一個欄位 (年) 以外的所有欄位。如需特殊字元的說明,請參閱資料表下方。

類型說明支援的特殊字元
300-59, - * /
230-23, - * /
1當月第幾日1-31, - * / L W
21-12, - * /
*星期幾

0 - 6 或 Sun - Sat

0、Sun、SUN = 星期日

1、Mon、MON = 星期一

6、Sat、SAT = 星期六

, - * / L #
*(選用) 您可以視需要來指定年的設定值。預設值是 *。, - * /

特殊字元

您可以在 Cron 運算式中使用下列特殊字元。

字元說明
*(「所有值」):萬用字元可用於比對欄位中的所有可能值。例如,如果您想要在從晚間 10 點開始的一小時內,每分鐘觸發一次工作,則運算式中的分鐘字元為 *。請參閱以下範例。
-指定值的範圍。例如,您可以在星期幾欄位中使用 1-5 以比對週內中的工作日 (星期一到星期五)。請參閱以下範例。
指定一組分散的值。例如,在當月第幾日欄位中輸入 1,10,20,30 即會在指定月份的第 1、第 10、第 20 和 30 天觸發工作。
/以該欄位的單位來指定欄位的增量值。例如,分欄位中的 5/20 表示會在每小時的第 5、第 25 和第 45 分鐘進行比對。
L

下列欄位允許使用範圍內最後一個接受的值:

  • 當月第幾日:指定目前選取月份值當月的最後一天。
    • 若為一月,這個值符合 31
    • 若為二月,這個值在非潤年符合 28
    • 若為四月,這個值符合 30
  • 星期幾:
    • 這個欄位本身可指定一週的最後一天,亦即 6 (星期六)。
    • 與其他值搭配使用,可指定當月的最後一個相符值。例如,3L 是當月的最後一個星期三。
W

指定最接近且相符的平日。例如,在當月第幾日欄位中輸入 22W,則最接近當月 22 日的平日將會符合條件。如果 22 日是星期六,則 24 日 (下一個星期一) 將會符合 Cron 工作的觸發條件。

提示:LW 可用於當月第幾日欄位以比對當月的最後一個平日。

#

指定當月的第 n 日。星期幾欄位範例:

  • 3#4 - 當月的第四個星期二
  • 5#2 - 當月的第二個星期四


範例

以下是部分 Cron 排程範例。

每小時

每小時的 15 分執行:

15 * * * *

每天

每天晚上 10:00 執行:

0 22 * * *

每天晚上從 10:00 開始的一小時內每分鐘執行一次:

* 22 * * *

每週

每個星期二凌晨 3:00 執行:

0 3 * * 2

平日

每個平日的晚上 8:00 執行:

0 20 * * 1-5

請注意,上述排程會在星期一晚上 10 點,以及當週的每天晚上 10 點執行。

若要重新整理每個平日早上的流程,您可以選擇在星期日啟動排程,這表示星期幾值會以 0 開始並以 4 結束。

每月

每月第一天的凌晨 2:30 執行:

30 2 1 * *

每年

每年 1 月 1 日午夜執行:

0 0 1 1 * *


其他範例

運算式意義

0 12 * * *
每天中午 12:00 啟動

15 10 * * *
每天早上 10:15 啟動

15 10 * * *
每天早上 10:15 啟動

15 10 * * * *
每天早上 10:15 啟動

15 10 * * * 2017
2017 年的每天早上 10:15 啟動

* 14 * * *
每天下午 2:00 到 2:59 為止每分鐘啟動一次

0/5 14 * * *
每天下午 2:00 到 2:55 為止每 5 分鐘啟動一次

0/5 14,18 * * *
每天下午 2:00 到 2:55 為止每 5 分鐘啟動一次,且每天下午 6:00 到 6:55 為止每 5 分鐘啟動一次

0-5 14 * * *
每天下午 2:00 到 2:05 為止每分鐘啟動一次

10,44 14 * 3 WED
三月每星期三的下午 2:10 和 2:44 啟動。

15 10 * * MON-FRI
每星期一、星期二、星期三、星期四和星期五的早上 10:15 執行

15 10 15 * *
每個月 15 號的早上 10:15 啟動

15 10 L * *
每個月最後一天的早上 10:15 啟動

15 10 L-2 * *
每個月倒數第二天的早上 10:15 啟動

15 10 * * 6L
每個月最後一個星期五的早上 10:15 啟動

15 10 * * 6L 2017-2019
2017、2018 和 2019 年每個月的最後一個星期五早上 10:15 啟動

15 10 * * 6#3
每個月的第三個星期五早上 10:15 啟動

0 12 1/5 * *
每個月從當月 1 號開始每隔 5 天的中午 12:00 啟動。

11 11 11 11 *
每年 11 月 11 日的早上 11:11 啟動。

無效的 Cron 運算式

運算式意義原因

15 10 * * * 2001
2001 年的每天早上 10:15 啟動這個 Cron 運算式無效,因為無法在未來產生任何事件。

* * *

-

Cron 運算式應含有 6 個或 7 個欄位。
本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Google Cloud Dataprep 說明文件
需要協助嗎?請前往我們的支援網頁