《在 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 分鐘為時間間隔執(zhí)行備份涉瘾。*/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 * * * 每日執(zhí)行一次
...
值 | 描述 | 等同于 |
---|---|---|
@yearly(或 @annually) | 每年執(zhí)行一次,在 1 月 1 日夜晚 12 點執(zhí)行 | 0 0 0 1 1 * |
@monthly | 每月執(zhí)行一次富玷,在每月第 1 天 夜晚 12 點執(zhí)行 | 0 0 0 1 * * |
@weekly | 每周執(zhí)行一次璧坟,在周六和周日之間的夜晚 12 點執(zhí)行 | 0 0 0 * * 0 |
@daily(或 @midnight) | 每日執(zhí)行一次,在夜晚 12 點執(zhí)行 | 0 0 0 * * * |
@hourly | 每小時執(zhí)行一次赎懦,在第 1 分鐘執(zhí)行 | 0 0 * * * * |
學會了就來體驗一下吧雀鹃!