《在 S3 備份恢復 RadonDB MySQL 集群數據》一文中我們展示了在 S3 存儲中對集群數據備份恢復的具體操作過程,但只是手動備份。RadonDB MySQL Kubernetes 2.2.0 新增支持 S3 的定時備份功能(NFS 的支持也在路上)。 下麵讓我們來看一下該功能是如何使用的 ...
《在 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 * * * * |
學會了就來體驗一下吧!