接口功能介绍
通过接口修改备份计划
接口约束
1、用户自定义备份计划名称,只能由数字、字母、-组成,不能以数字和-开头、且不能以-结尾,备份计划名称长度不超过64个字符
2、设置被保护主机上需要备份的文件目录,提供三种配置模式:全部目录、指定目录、高级规则。 a)全部目录:备份该主机上所有目录 ,不会备份/dev、/proc、/sys及其子目录。 b)指定目录:用户可以自己手动输入添加需要备份的目录,最多可以添加10条 + 路径选择,是绝对路径,不能包含/dev、/proc、/sys及其子目录,不支持通配符 c)高级规则:用户可以自己手动输入添加需要备份的目录,最多10条。同时可以通过备份文件规则选择包括所有文件、包含下列文件、排除下列文件,最多10条。三种规则只能选择其中一种执行。包含和排除文件需要用户手动输入路径或者文件,路径选择是绝对路径,不能包含/dev、/proc、/sys及其子目录,单条备份路径的字符最长为4095
3、配置保留备份副本的时间或数量,也可永久保留。单位为天、周、月、年、个。 保留时长设置不能小于备份周期,即备份副本最少要可保留一个。最小保留周期为1天或1个,最大输入999年、11988月、51948周、364635天、2000个,高级保留策略配置项取值范围为0-100
4、客户端版本在2.3.0开始支持通配符且目录路径与文件路径分别只允许出现一个使用通配符的路径: 支持*通配符,代表所有字符,如/home/*.txt代表以/home/下面所有.txt结尾的文件 支持?通配符,代表任意1个字符,如/home/a?c, 代表如/home/abc, /home/acc 支持[] 通配符,代表匹配字符范围,如/home/[a-z]代表home下面所有a-z 的路径 支持[^] 匹配,代表匹配字符不在[]范围内,如/home/[^a-z] 代表所有不是小写字符的路径 支持以上通配符组合,如/home/[a-z]*,代表所有以/home 下面,所有a-z 开头的路径
URI
POST /v4/backup/update-backup-policy
路径参数 无
Query参数 无
请求参数
请求头header参数 无
请求体body参数
| 参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
|---|---|---|---|---|---|
| regionID | 是 | String | 资源池ID | 41f64827f25f468595ffa3a5deb5d15d | |
| backupPolicyID | 是 | String | 备份计划ID | 31f777-827f25f-595ffa3-deb5d15d | |
| backupPolicyName | 是 | String | 备份计划名字 | test-1 | |
| directType | 是 | Integer | 备份目录规则 0: 全部目录 1:指定目录 2:高级规则 | 0 | |
| backupFileInfo | 否 | Object | 备份文件信息 | backupFileInfo | |
| backupPeriodInfo | 是 | Object | 备份时间信息 | backupPeriodInfo | |
| backupRetentionInfo | 是 | Object | 备份保留信息 | backupRetentionInfo | |
| backupFullInfo | 否 | Object | 周期全备信息 | backupFullInfo | |
| backupLimitQosInfo | 否 | Object | 备份限速信息 | backupLimitQosInfo | |
| isCloud | 否 | Boolean | 是否是云上资源(默认true),true:弹性云主机,false:本地客户主机。推荐使用sourceType参数,该参数后续即将下线 | true | |
| sourceType | 否 | String | 产品服务类型(默认CT-ECS),CT-ECS:弹性云主机,CT-DPS:裸金属物理机,CT-LS:本地客户主机 | CT-DPS |
表 backupLimitQosInfo
| 参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
|---|---|---|---|---|---|
| isLimitQos | 否 | Integer | 是否开启备份限速:0: 不开启 1:开启 | 1 | |
| rateLimits | 否 | Array of Objects | 备份限速配置项 | 参考响应示例 | rateLimits |
表 rateLimits
| 参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
|---|---|---|---|---|---|
| start | 是 | Integer | 限速开始时间,取值范围[0,23] | 0 | |
| stop | 是 | Integer | 限速结束时间,取值范围[1,24] | 1 | |
| uploadMb | 是 | Integer | 限速值,单位为MB,取值范围[1,9999] | 1 |
表 backupFileInfo
| 参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
|---|---|---|---|---|---|
| dirs | 否 | Array of Strings | 目录列表,最多10个,备份路径的长度不超过4095个字符。 --如果目录规则不是全部目录则必填-如若填写则校验参数类型 | [""] | |
| files | 否 | Array of Strings | 文件列表,最多10个,备份路径的长度不超过4095个字符。 --如果文件规则不是全部文件则必填-如若填写则校验参数类型 | [""] | |
| rule | 否 | Integer | 备份文件规则,0:全部文件,1:包含文件files,2:排除文件files --如果目录规则是高级规则则必填-如若填写则校验参数类型 | 0 |
表 backupPeriodInfo
| 参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
|---|---|---|---|---|---|
| rule | 是 | Integer | 备份时间规则:0 : 每小时备份一次 1 : 每天备份一次 2 : 每周备份一次 3 : 每月备份一次 | 1 | |
| day | 否 | Integer | 星期:day取值范围[0, 6],0表示周日,1~6分别表示周一至周六,日期:day取值范围[1, 31]--时间规则为每周跟每月必填,其他规则填写无效-如若填写则校验参数类型 | 1 | |
| hour | 否 | Integer | 小时 取值范围[0,23] --除了时间规则为每小时不是必填,其他规则时都是必填-如若填写则校验参数类型 | 1 |
表 backupRetentionInfo
| 参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
|---|---|---|---|---|---|
| type | 是 | Integer | -1: 永久保留 1:天 2:周 3:月 4:年 | 1 | |
| value | 否 | Integer | 保留时间--如果不是永久保留则必填-如若填写则校验参数类型 | 1 | |
| hasConf | 否 | Boolean | 是否配置高级保留策略 | true | |
| conf | 否 | Object | 高级保留策略配置项 | conf |
表 backupFullInfo
| 参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
|---|---|---|---|---|---|
| backupMode | 是 | Integer | 是否开启周期全量备份:0: 不开启 1:开启 | 0 | |
| incrementNum | 是 | Integer | 间隔多少次增量备份后执行全量备份 | 10 |
表 conf
| 参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
|---|---|---|---|---|---|
| day | 是 | Integer | 保留最新完成备份在配置数量的天内每天最新的一个可用备份副本 | 0 | |
| week | 是 | Integer | 保留最新完成备份在配置数量的周内每周最新的一个可用备份副本 | 0 | |
| month | 是 | Integer | 保留最新完成备份在配置数量的月内每月最新的一个可用备份副本 | 0 | |
| year | 是 | Integer | 保留最新完成备份在配置数量的年内每年最新的一个可用备份副本 | 0 |
响应参数
| 参数 | 参数类型 | 说明 | 示例 | 下级对象 |
|---|---|---|---|---|
| statusCode | Integer | 返回状态码(800为成功,900为失败) | 800 | |
| message | String | 成功或失败时的描述,一般为英文描述 | SUCCESS | |
| description | String | 成功或失败时的描述,一般为中文描述 | 成功 | |
| returnObj | Object | 成功时返回对象 | returnObj | |
| errorCode | String | 业务细分码,为product.module.code三段式码。 | backup.regionInfo.empty | |
| error | String | 业务细分码,为product.module.code三段式大驼峰码 | Backup.RegionInfo.Empty |
表 returnObj
| 参数 | 参数类型 | 说明 | 示例 | 下级对象 |
|---|---|---|---|---|
| msg | String | 修改备份计划任务下发描述 | 参考响应示例 | |
| status | String | 修改备份计划任务状态 | 参考响应示例 |
枚举参数
无
请求示例
请求url
无
请求头header
无
请求体body
{
"regionID": "41f64827f25f468595ffa3a5deb5d15d",
"backupPolicyID": "31f777-827f25f-595ffa3-deb5d15d",
"backupPolicyName": "storage-1",
"directType": 2,
"backupFileInfo": {
"dirs":[
"D:\\"
],
"files":[
"/dev/app.py"
],
"rule":0
},
"backupPeriodInfo": {
"rule": 2,
"day": 1,
"hour": 0
},
"backupRetentionInfo": {
"type": -4,
"value":30,
"hasConf":true,
"conf":{
"day":1,
"week":0,
"month":1,
"year":100
}
},
"backupFullInfo":{
"backupMode":0,
"incrementNum":11
},
"backupLimitQosInfo":{
"isLimitQos":true,
"rateLimits":[
{
"start":0,
"stop":23,
"uploadMb":100
}
]
},
"sourceType": "CT-LS"
}
响应示例
{
"httpstatus": 200,
"httpresult": {
"returnObj": {
"status": "success",
"msg": "backupPolicy updated success"
},
"message": "SUCCESS",
"description": "成功",
"statusCode": 800
}
}
状态码
请参考 状态码
错误码
请参考 错误码