本文档介绍如何进行 S3 定时备份。
简介
目前,支持 S3 定时备份,您可以使用 Cron 表达式来指定备份的时间策略。您只需直接在集群的 YAML 文件的 spec
下设置 backupSchedule
字段。例如:
...
spec:
replicas: 3
mysqlVersion: "5.7"
backupSchedule: "0 0 0 * * *" # daily
...
定时备份配置方式
Cron 表达式格式
Cron 表达式的格式为: [秒] [分] [时] [日] [月] [星期]
,即由 6 个使用空格分隔的字段组成的时间组合。
字段名 | 必配 | 允许值 | 允许的特殊符号 |
---|---|---|---|
秒 | 是 | 0-59 | * / , - |
分 | 是 | 0-59 | * / , - |
时 | 是 | 0-23 | * / , - |
日 | 是 | 1-31 | * / , - ? |
月 | 是 | 1-12 或 JAN-DEC | * / , - |
星期 | 是 | 0-6 或 SUN-SAT | * / , - ? |
备注:
月
和星期
字段值大小写不敏感,即SUN
,Sun
, 和sun
同等接受。
特殊字符
星号(*)
星号可用在所有字段中,表示对应时间域的每一个时刻。例如,第 5 个字段(月)值为星号,表示每个月。
反斜线(/)
表示范围增量。例如,第 2 个字段(分钟)中的 3-59/15 表示从该小时的第 3 分钟开始,此后以 15 分钟为时间间隔执行备份。*/y
等同于 min-max/y
。n/y
等同于 n-max/y
,即从 n 开始使用增量, 直到特定范围结束。
逗号(,)
逗号用来隔离列表中的项目。例如,在第 5 个字段 (星期) 中使用 MON,WED,FRI
将表示周一、周三和周五。
连字符(-)
连字号用来指定范围。例如,在第 3 个字段 (小时) 中使用 9-17
表示从 9 点到 17 点间的每一个小时。
问号(?)
不指定值,仅日期和星期域支持该字符。当日期或星期域其中之一被指定了值以后,为了避免冲突,需要将另一个域的值设为?
。
预定义时间表
你可以用如下的预定义时间来代替 Cron 表达式。
值 | 描述 | 等同于 |
---|---|---|
@yearly(或 @annually) | 每年执行一次,在 1 月 1 日夜晚 12 点执行 | 0 0 0 1 1 * |
@monthly | 每月执行一次,在每月第 1 天 夜晚 12 点执行 | 0 0 0 1 * * |
@weekly | 每周执行一次,在周六和周日之间的夜晚 12 点执行 | 0 0 0 * * 0 |
@daily(或 @midnight) | 每日执行一次,在夜晚 12 点执行 | 0 0 0 * * * |
@hourly | 每小时执行一次,在第 1 分钟执行 | 0 0 * * * * |