69 lines
2.1 KiB
Markdown
69 lines
2.1 KiB
Markdown
备份调度
|
||
==========
|
||
PolarDB-X Operator 从 1.4.0 版本开始支持全量备份调度功能。本文介绍如何为集群配置备份调度。
|
||
|
||
## 注意事项
|
||
|
||
- 若到达调度时间,对应的PolarDB-X 集群有其他备份正在进行中,则此次备份任务会等进行中的备份任务结束后再开始
|
||
- 若同时发起多个调度,请合理制定调度规则,避免同一时间触发多个备份
|
||
|
||
## 创建备份调度
|
||
|
||
PolarDBXBackupSchedule 对象的示例如下所示:
|
||
|
||
```yaml
|
||
apiVersion: polardbx.aliyun.com/v1
|
||
kind: PolarDBXBackupSchedule
|
||
metadata:
|
||
name: pxc-schedule
|
||
spec:
|
||
schedule: "*/20 * * * *"
|
||
maxBackupCount: 5
|
||
suspend: false
|
||
backupSpec:
|
||
cluster:
|
||
name: polardbx-test
|
||
retentionTime: 240h
|
||
storageProvider:
|
||
storageName: sftp
|
||
sink: default
|
||
preferredBackupRole: follower
|
||
```
|
||
|
||
参数说明:
|
||
* schedule: 调度规则,即定期发起备份的时间点,须使用合规的cron表达式指定
|
||
* maxBackupCount: 保存的备份集数量上限,当备份集数超过上限,会从最旧的备份集开始清理,默认值为0,表示不做清理
|
||
* suspend: 调度是否暂停,默认为 `false`,表示不暂停
|
||
* backupSpec: 备份配置,可参考[集群备份](./2-cluster-backup.md)
|
||
|
||
参照上述示例编写 pxc-schedule.yaml 文件,通过以下命令创建备份调度:
|
||
|
||
```bash
|
||
kubectl apply -f pxc-schedule.yaml
|
||
```
|
||
|
||
可通过以下命令观察调度状态:
|
||
|
||
```bash
|
||
kubectl get pbs
|
||
```
|
||
|
||
可以从状态中获取到如下信息:
|
||
|
||
```bash
|
||
NAME SCHEDULE LAST_BACKUP_TIME NEXT_BACKUP_TIME LAST_BACKUP
|
||
pxc-schedule */20 * * * * 2023-03-16T08:00:00Z 2023-03-16T08:20:00Z polardbx-test-backup-202303160800
|
||
```
|
||
|
||
## 调度规则示例
|
||
|
||
PolarDBXBackupSchedule 对象的 `spec.schedule` 字段表示调度规则,遵循标准cron表达式的格式要求,下表是一些调度规则的示例:
|
||
|
||
| 调度规则 | 规则含义 |
|
||
| ----- | ------ |
|
||
| */20 * * * * | 每20分钟发起备份 |
|
||
| 0 * * * * | 每小时发起备份 |
|
||
| 0 0 * * 1 | 每周一的0点发起备份 |
|
||
| 0 2 * * 1,4 | 周一和周四的2点发起备份 |
|
||
| 0 2 */2 * * | 每两天的2点发起备份 |
|