计划快照 - Amazon Redshift

计划快照

要精确控制创建快照的时间,您可以为特定命名空间创建快照计划。计划快照的创建时,您可以创建一次性事件,也可以使用 Unix cron 表达式来创建定期执行的计划。Cron 表达式支持以空格分隔三个字段。

cron(Minutes Hours Day-of-month Month Day-of-week Year)
字段 通配符

分钟

0-59

, - * /

小时

0-23

, - * /

日期

1-31

, - * ? / L W

1-12 或 JAN-DEC

, - * /

星期几

1–7 或 SUN-SAT

, - * ? L #

1970-2199

, - * /

通配符
  • ,(逗号)通配符包含其他值。在 Day-of-week 字段中,MON,WED,FRI 将包含星期一、星期三和星期五。总值限制为每字段 24 个。

  • -(破折号)通配符用于指定范围。在 Hour 字段中,1–15 将包含指定日期的 1 - 15 小时。

  • *(星号)通配符包含该字段中的所有值。在 Hours 字段中,* 将包含每个小时。

  • /(正斜杠)通配符用于指定增量。在 Hours 字段中,您可以输入 1/10 来指定从当天的第 1 个小时开始每隔 10 小时(例如,01:00、11:00 和 21:00)。

  • ?(问号)通配符用于指定一个或另一个。在 Day-of-month 字段中,您可以输入 7,如果您不介意 7 日是星期几,则可以在“星期几”字段中输入 ?

  • 字段中的 Day-of-monthLDay-of-week 通配符用于指定月或周的最后一天。

  • Day-of-month 字段中的 W 通配符用于指定工作日。在 Day-of-month 字段中,3W 用于指定最靠近当月的第三周的日。

  • “星期几”字段中的 # 通配符用于指定一个月内所指定星期几的特定实例。例如,3#2 指该月的第二个星期二:3 指的是星期二,因为它是每周的第三天,2 是指该月内该类型的第二天。

    注意

    如果使用 “#” 字符,则只能在星期字段中定义一个表达式。例如,“3#1,6#3”是无效的,因为它被解释为两个表达式。

限制
  • 您无法在同一 cron 表达式中为 Day-of-monthDay-of-week 字段同时指定值。如果您在其中一个字段中指定了值,则必须在另一个字段中使用 ?(问号)。

  • 快照计划不支持以下频率:

    • 计划快照的频率超过每小时 1 次。

    • 计划快照的频率低于每天 1 次(24 小时)。

    如果您有重叠的计划导致在 1 小时时段内计划了多次快照,将产生验证错误。

下表提供了一些示例 cron 字符串。

分钟 小时 星期几 意义

0

14-20/1

TUE

星期二下午 2 点到晚上 8 点之间,每小时拍摄一次。

0

21

MON-FRI

每天晚上 9 点,星期一至星期五。

30

0/6

SAT-SUN

星期六和星期日从当天午夜 30 分 (00:30) 开始,每 6 小时拍摄一次。这导致在每天的 [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 Serverless API 或 AWS CLI 创建快照计划。有关这些操作的更多信息,请参阅 Using the AWS CLI and Amazon Redshift Serverless API