乐趣区

关于数据库:容器化-在-S3-实现定时备份

《在 S3 备份复原 RadonDB MySQL 集群数据》一文中咱们展现了在 S3 存储中对集群数据备份复原的具体操作过程,但只是手动备份。RadonDB MySQL Kubernetes 2.2.0 新增反对 S3 的定时备份性能(NFS 的反对也在路上)。

上面让咱们来看一下该性能是如何应用的吧!

如何开启?

可用 Cron 表达式(与 Linux 的 crontab 定时器相似)来指定备份的工夫策略。您只须要在集群的 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 表达式,使得设置更加人性化。

... 
spec:
  replicas: 3
  mysqlVersion: "5.7"
  backupSchedule: @daily # 0 0 0 * * *  每日执行一次
  ...
形容 等同于
@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

学会了就来体验一下吧!

退出移动版