排程快照 - Amazon Redshift

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

排程快照

若要精確控制拍攝快照的時間,您可以為特定的命名空間集建立快照排程。建立排程快照時,您可以建立一次性事件或使用 Unix cron 運算式來建立週期性排程。Cron 表達式支援三個欄位,並以空格隔開。

cron(Minutes Hours Day-of-month Month Day-of-week Year)
欄位 Values (數值) 萬用字元

分鐘

0–59

, - * /

小時

0–23

, - * /

D ay-of-month

1–31

, - * ? / L W

1 至 12 或 JAN-DEC

, - * /

D ay-of-week

1 至 7 號或 SUN-SAT

, - * ? L #

1970-2199

, - * /

萬用字元
  • , (逗號) 萬用字元包含額外的值。在 Day-of-week 欄位,MON,WED,FRI 包括週一、週二和週三。每個欄位的總數值限制為 24。

  • - (破折號) 萬用字元用於指定範圍。在 Hour 欄位中,1–15 會包含指定日的 1 至 15 時。

  • * (星號) 包含欄位中所有的值。在 Hours 欄位,* 包含每個小時。

  • / (斜線) 萬用字元用於指定增量。在 Hours 欄位,您可以輸入 1/10 指定每第 10 小時,從一天的第一小時開始 (例如 01:00、11:00 和 21:00)。

  • ? (問號) 萬用字元用於表示不限定任何一個。在該Day-of-month字段中,您可以輸入 7,如果您不在乎第七週的哪一天,您可以輸入 在 D 字ay-of-week 段中。

  • L 萬用字元在 Day-of-monthDay-of-week 欄位可指定月份或週的最後一天。

  • W 萬用字元在 Day-of-month 欄位可指定任務日。在 Day-of-month 欄位,3W 指定的是月份中最接近第三個任務日的日子。

  • D ay-of-week 欄位中的 # 萬用字元會指定一個月內星期中指定日期的特定執行個體。例如,3#2 代表則該月的第二個星期二:3 是指星期二,因為它是每週的第三天,2 指的是一個月內該類型的第二天。

    注意

    如果您使用 '#' 字元,則只能在 day-of-week 欄位中定義一個運算式。例如:"3#1,6#3" 是無效的,因為它被轉譯為兩個表達式。

限制
  • 您無法在同一個 cron 表達式中指定 Day-of-monthDay-of-week 欄位。如果您在其中一個欄位指定了數值,就必須在另一個欄位中使用 ? (問號)​。

  • 快照排程不支援下列頻率:

    • 快照排程頻率超過每小時 1 次。

    • 快照排程頻率低於每天 (24 小時) 1 次。

    如果您有重疊的排程,導致 1 個小時內有多個排程快照,將會產生驗證錯誤。

下表包含一些 cron 字串範例。

分鐘 小時 週中的日 意義

0

14-20/1

TUE

週二下午 2 點至 8 點,每小時一次。

0

21

MON-FRI

週一至週五每天晚上 9 點。

30

0/6

SAT-SUN

週六和週日每 6 小時增量,從當日午夜後 30 分鐘開始 (00:30)。結果是在每天 [00:30、06:30、12:30 和 18:30] 進行快照。

30

12/4

*

每天 12:30 開始每 4 小時增量。這解析為 [12:30、16:30、20:30]。

下列範例說明如何建立可從每天 15:15 開始以 2 小時增量執行的排程。

cron(15 15/2 *)

目前,您只能使用 Amazon Redshift 無伺服器API或 AWS CLI 以建立快照排程。如需這些作業的詳細資訊,請參閱使用 AWS CLI 和 Amazon Redshift 無伺服器API