排程表達式參考 - Amazon CloudWatch Logs

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

排程表達式參考

使用這些參考表來建構排程查詢的排程表達式。所有時間均以 UTC 表示。

Cron 表達式語法

格式:cron(minute hour day-of-month month day-of-week year)

使用案例 Cron 表達式 描述 使用時機
每日排程 cron(0 9 * * ? *) UTC 每天上午 9:00 每日報告
cron(0 */6 * * ? *) 每 6 小時 (00:00、06:00、12:00、18:00 UTC) 頻繁監控
cron(30 2 * * ? *) UTC 每天上午 2:30 離峰分析
營業時間 cron(0 9-17 ? * MON-FRI *) 週一至週五 UTC,上午 9 點至下午 5 點,每小時 業務監控
cron(0 18 ? * MON-FRI *) UTC 的工作日下午 6:00 工作日結束
cron(0 8,12,17 ? * MON-FRI *) UTC 工作日上午 8 點、中午和下午 5 點 關鍵營業時間
每週排程 cron(0 12 ? * SUN *) 每週日中午 UTC 每週摘要
cron(0 9 ? * MON *) UTC 每週一上午 9:00 週開始報告
cron(0 23 ? * FRI *) 每週五 11:00 PM UTC 週結束清除
每月排程 cron(0 0 1 * ? *) 每月第一天午夜 UTC 每月報告
cron(0 9 L * ? *) 每月最後一天 UTC 上午 9:00 月末處理
cron(0 10 1 1,4,7,10 ? *) 每季第一天的 UTC 上午 10:00 每季分析
高頻率 cron(*/15 * * * ? *) 每 15 分鐘 即時監控
cron(0,30 * * * ? *) 每 30 分鐘 (在 :00 和 :30) 頻繁檢查
cron(0 */2 * * ? *) 每 2 小時 定期間隔
特殊案例 cron(30 8 1 1 ? *) 1 月 1 日上午 8:30 UTC 年度報告
cron(0 6 * * SAT,SUN *) UTC 上午 6:00 的週末 週末處理
cron(0 0 ? * MON#1 *) 每月的第一個星期一午夜 UTC 每月規劃

Cron 表達式欄位參考

欄位 萬用字元 範例
分鐘 (第 1 個) 0-59 * , - / 0 (小時頂端)、 */15 (每 15 分鐘)、 0,30(每小時兩次)
小時 (第 2 個) 0-23 * , - / 9 (上午 9 點)、 */2 (每 2 小時)、 9-17(上班時間)
Day-of-month(第 3 天) 1-31、L、W * , - / ? 1 (第 1 天)、 L (最後一天)、 ?(使用day-of-week時)
月 (第 4 個) 1-12 或 JAN-DEC * , - / 1 (1 月)JAN、、 1,4,7,10(每季)
Day-of-week(第 5 天) 1-7 或 SUN-SAT * , - / ? # L MON-FRI (平日)SUN、、 MON#1(第一個星期一)
年 (第 6 個) 1970-2199 * , - / * (每年)、 2024(特定年份)、 2024-2026(範圍)

萬用字元和特殊表達式

* (星號)

符合 欄位中的所有值。範例:*在小時欄位中表示每小時。

? (問號)

沒有特定值。在指定其他 時,以day-of-month中的日或day-of-week使用 。範例:?在day-of-month時MON-FRI,在每月day-of-week。

- (破折號)

值的範圍。範例: MON-FRI (週一至週五)、 9-17(上午 9 點至下午 5 點)。

, (逗號)

多個特定值。範例: MON,WED,FRI (週一、週三、週五)、 8,12,17(上午 8 點、中午、下午 5 點)。

/ (斜線)

步驟值或增量。範例:0/15以分鐘為單位表示從分鐘 0 (0、15、30、45) 開始每 15 分鐘一次。以小時*/2為單位表示每 2 小時一次。

L (最後一個)

每月的最後一天或工作日的最後一次出現。範例:以月中的L日表示月中的最後一天。 FRIL表示月中的最後一個星期五。 day-of-month

W (工作日)

最近的工作日。範例: 15W 表示最接近當月 15 日的工作日。

# (第 n 次出現)

每月第三次出現工作日。範例: MON#1 表示每月的第一個星期一, FRI#2表示每月的第二個星期五。

常見模式和最佳實務

  • 對於商業應用程式:使用 MON-FRI和 上班時間 (例如 9-17),以避免在週末或下班時間執行查詢。

  • 對於高頻率監控:使用增量,例如 */15(每 15 分鐘),但請注意查詢並行限制。

  • 為了提高資源效率:使用 2-6 UTC 等上午時間,在離峰時間排程資源密集型查詢。

  • 對於每月報告:L用於月份的最後一天或特定日期,例如1第一天,以確保一致的時間。