timezone settings interface in workflow configuration panel

n8n 進階排程觸發節點(Schedule Trigger)(03):Cron 排程表達式語法、時區設定與常見坑位避雷排程觸發節點

當「每 5 分鐘」已經不夠用,你需要的是 Cron:以一行表達式,精準指定「什麼時候」執行——像是每月第 1 天 09:30、每季第一天 00:00、或週一到週五 09–17 點整點。

本篇用實務角度帶你一次搞懂 Cron 六欄位結構(含秒)、常見範式(每 X 分鐘/只工作日/自訂時段)、以及 時區與變數評估時機 這兩個最容易踩雷的點。

你也會拿到一份除錯清單,幫你迅速定位「為什麼沒在預期時間跑」。

你將掌握:

  • Cron 六欄位結構:(秒) 分 時 日 月 週(秒可省略)與典型範式
  • 何時用 Cron、何時用間隔(秒/分/時/日/週/月)的判斷心法
  • 時區優先序與設定:全域 vs. 單一工作流程(避免跑錯時間)
  • 變數只在啟用當下評估的規則與重新啟用的必要性
  • 變更排程後「從啟用時間重新起算」的時間軸觀念
  • 常見錯誤與快速修復:無效表達式、時區不對、變數未生效
timezone settings interface in workflow configuration panel

自定義(Cron)間隔

輸入自定義的 cron 表達式(Expression)來設置觸發器的排程。

要生成 Cron 表達式,您可以使用 crontab guruchatgpt

將使用生成的 Cron 表達式貼到 n8n 中的表達式字段。

Cron 表達式示例

類型Cron 表達式描述
每 X 秒*/10 * * * * *每 10 秒
每 X 分鐘*/5 * * * *每 5 分鐘
每小時0 * * * *每小時整點
每天0 6 * * *每天上午 6:00
每週0 12 * * 1每週一中午
每月0 0 1 * *每月 1 日午夜

更多 Cron 表達式示例

類型Cron 表達式描述
每 X 天0 0 */3 * *每 3 天午夜
僅工作日0 9 * * 1-5週一至週五上午 9:00
自定義小時範圍0 9-17 * * *每天上午 9:00 至下午 5:00 每小時
季度0 0 1 1,4,7,10 *1 月、4 月、7 月和 10 月 1 日午夜

注意:Cron 表達式中的第六個星號代表秒。設置這個是可選的,即使您不設置秒的值,節點也會執行。

cron expression structure diagram showing the six positions

Cron 表達式結構

Cron 表達式的六個位置

(*) * * * * *

(秒) 分鐘 小時 月份日 月 星期幾(週日-週六)

在 Cron 表達式中使用變量:

雖然可以在排程觸發器中使用變量,但它們的值僅在工作流程激活時進行評估。

如果在工作流程激活後更改變量的值,更改不會改變 cron 排程。

要重新評估變量,請將工作流程設置為「非活動」,然後再設置回「活動」。

排程觸發節點常見問題

無效的 cron 表達式

當您將觸發間隔設置為自定義(Cron)且 n8n 無法理解您的 cron 表達式時,會發生此錯誤。

解決方法:檢查您的 cron 表達式是否遵循示例中使用的語法,並在 crontab guru 上驗證。

排程工作流程在錯誤的時間運行

如果排程觸發節點在錯誤的時間運行,可能意味著您需要調整 n8n 使用的時區。

解決方法:調整全局時區或單個工作流程的時區。

調整時區設置

全局調整時區

  • n8n Cloud:按照「設置 Cloud 實例時區」頁面上的說明操作
  • 自託管:使用 GENERIC_TIMEZONE 環境變量設置全局時區

調整單個工作流程的時區

  1. 在畫布上打開工作流程
  2. 選擇右上角的「三點圖標」
  3. 選擇「設置」
  4. 更改「時區」設置
  5. 選擇「保存」

排程觸發器的其他常見問題

變量不按預期工作

雖然可以在排程觸發器中使用變量,但它們的值僅在工作流程激活時進行評估。激活工作流程後,您可以在設置中更改變量的值,但這不會改變工作流程運行的頻率。要解決此問題,您必須停止然後重新激活工作流程以應用更新的變量值。

更改觸發間隔

您可以隨時更新排程的觸發間隔,但只有在工作流程激活時才會更新。如果在工作流程處於活動狀態後更改觸發間隔,則更改將不會生效,直到您停止然後重新激活工作流程。

此外,排程從激活工作流程的時間開始。例如,如果您最初設置了每 1 小時的排程,應該在 12:00 執行,如果您將其更改為 2 小時排程並在 11:30 重新激活工作流程,則下一次執行將在 13:30,即從激活時間起 2 小時。

business professional analyzing workflow automation results on computer screen

總結

  • 寫對表達式:用 crontab.guru 產生/驗證,記得 n8n 支援「秒」欄位;能用簡單間隔就別硬上 Cron。
  • 時區先釘死:優先在「工作流程設定」指定正確時區(如 Asia/Taipei);自託管可用 GENERIC_TIMEZONE 設全域。
  • 變數與排程改動要「重啟用」:Cron 會在啟用瞬間讀入變數;之後改值或改排程,必須停用→再啟用才會生效。
  • 從啟用時間起算:改「每 2 小時」並於 11:30 重新啟用,下一次就是 13:30。
  • 除錯清單
    1. 表達式是否有效;
    2. 工作流程是否已「啟用」;
    3. 時區是否正確;
    4. 最近是否有重新「停用→啟用」;
    5. 是否被其他觸發規則或併發鎖影響。

把這幾個關鍵動作做好,你的 n8n Cron 排程就會準點、可預測、好維護

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

High Quality

Lorem ipsum dolor sit amet, consectetur adipiscing elitsed do eiusmod tempor.

Fast Delivery

Lorem ipsum dolor sit amet, consectetur adipiscing elitsed do eiusmod tempor.

Best Warranty

Lorem ipsum dolor sit amet, consectetur adipiscing elitsed do eiusmod tempor.