备份管理
更新时间:2024-03-14
获取备份列表
使用以下代码可以获取一个实例下的备份列表。
Go
1// import "github.com/baidubce/bce-sdk-go/services/rds"
2args := &rds.GetBackupListArgs{}
3_, err := client.GetBackupList(instanceId, args)
4if err != nil {
5 fmt.Printf("get backup list error: %+v\n", err)
6 return
7}
8fmt.Printf("get backup list success\n")
注意:
- 请求参数 marker 和 maxKeys 不是必须的。
获取备份详情
使用以下代码可以获取一个实例备份的详情信息。
Go
1// import "github.com/baidubce/bce-sdk-go/services/rds"
2result, err := client.GetBackupDetail(instanceId, backupId)
3if err != nil {
4 fmt.Printf("get backup detail error: %+v\n", err)
5 return
6}
7fmt.Printf("get backup detail success\n")
删除备份
使用以下代码可以删除手动备份
Go
1// import "github.com/baidubce/bce-sdk-go/services/rds"
2_, err := client.DeleteBackup(instanceId, backupId)
3if err != nil {
4 fmt.Printf("delete backup detail error: %+v\n", err)
5 return
6}
7fmt.Printf("delete backup detail success\n")
更新备份策略
使用以下代码可以更新一个实例的备份策略。
Go
1// import "github.com/baidubce/bce-sdk-go/services/rds"
2args := &rds.ModifyBackupPolicyArgs{
3 BackupDays: "1,3",
4 BackupTime: "10:00:00Z",
5 Persistent: true,
6 ExpireInDays: 20,
7}
8err := client.ModifyBackupPolicy(instanceId, args)
9if err != nil {
10 fmt.Printf("modify backup policy error: %+v\n", err)
11 return
12}
13fmt.Printf("modify backup policy success\n")
获取binlog列表
使用以下代码可以获取binlog列表
Go
1// import "github.com/baidubce/bce-sdk-go/services/rds"
2result, err := client.GetBinlogList(instanceId, detaTime)
3if err != nil {
4 fmt.Printf("get binlog list error: %+v\n", err)
5 return
6}
7fmt.Printf("get binlog list success\n")
获取binlog信息
使用以下代码可以获取binlog信息
Go
1// import "github.com/baidubce/bce-sdk-go/services/rds"
2result, err := client.GetBinlogInfo(instanceId, binlogId, downloadValidTimeInSec)
3if err != nil {
4 fmt.Printf("get binlog detail error: %+v\n", err)
5 return
6}
7fmt.Printf("get binlog detail success\n")
按时间点进行库表恢复
使用以下代码可以按时间点进行库表恢复
Go
1// import "github.com/baidubce/bce-sdk-go/services/rds"
2recoveryByDatetimeArgs := &RecoveryByDatetimeArgs{
3 Datetime: "2022-01-11T16:05:52Z",
4 Data: []RecoveryData{
5 {
6 DbName: "test_db",
7 NewDbname: "new_test_db",
8 RestoreMode: "database",
9 Tables: []TableData{
10 {
11 TableName: "table_name",
12 NewTablename: "new_table_name",
13 },
14 },
15 },
16 },
17}
18err := client.RecoveryToSourceInstanceByDatetime(instanceId, recoveryByDatetimeArgs)
19if err != nil {
20 fmt.Printf("recovery by datetime error: %+v\n", err)
21 return
22}
23fmt.Printf("recovery by datetime success\n")
按备份集进行库表恢复
使用以下代码可以按备份集进行库表恢复
Go
1// import "github.com/baidubce/bce-sdk-go/services/rds"
2recoveryBySnapshotArgs := &RecoveryBySnapshotArgs{
3 SnapshotId: "1691734023130272802",
4 Data: []RecoveryData{
5 {
6 DbName: "test_db",
7 NewDbname: "new_test_db",
8 RestoreMode: "database",
9 Tables: []TableData{
10 {
11 TableName: "table_name",
12 NewTablename: "new_table_name",
13 },
14 },
15 },
16 },
17}
18err := client.RecoveryToSourceInstanceBySnapshot(instanceId, recoveryBySnapshotArgs)
19if err != nil {
20 fmt.Printf("recovery by snapshot error: %+v\n", err)
21 return
22}
23fmt.Printf("recovery by snapshot success\n")