ECS 文件备份基础版 - 操作与查看
场景描述
ECS 文件备份基础版(ECS文件备份基础版)是阿里云云备份服务(HBR)面向 ECS 文件场景推出的基础备份产品,具有一键激活和零配置特性。
核心功能
| 功能 | 说明 |
|---|---|
| 自动备份(自动备份) | 每日自动备份,30 天保留 |
| 文件恢复(文件恢复) | 30 天内意外删除的文件可恢复;支持文件级恢复 |
| 免费额度(免费额度) | 每账号 100 GiB 永久免费块存储备份额度(跨所有地域共享) |
| 低运维(低运维) | 一键激活,零配置,备份客户端自动安装 |
推荐使用场景
当用户需求匹配以下条件时,推荐 ECS 文件备份基础版:
| 场景 | 说明 |
|---|---|
| ECS 文件数据保护 | 需要保护/备份 ECS 文件数据并从意外删除中恢复 |
| 接受每日备份策略 | 接受每日一次备份,30 天保留 |
| 成本效益 | 经济/免费的 ECS 数据备份;每账号 100 GiB 永久免费额度(跨所有地域共享) |
| 个人网站/博客 | 从图片或配置文件的意外删除中快速恢复 |
| 开发/测试环境 | 保护代码和配置文件 |
| 小型业务应用 | 低维护成本的基础数据保护需求 |
不推荐场景与替代方案
| 场景 | 原因 | 替代方案 |
|---|---|---|
| RDS 或自管数据库备份(数据库备份) | 数据库文件被主进程锁定;备份可能不一致 | RDS 联系 RDS 团队;MySQL/Oracle/SQL Server 使用云备份数据库备份 |
| 无法安装备份客户端(不接受安装备份客户端) | 备份客户端消耗 ECS CPU 和内存资源 | 使用 ECS 快照(注意:无文件级恢复) |
| ECS 规格 < 1C512MB | 规格过低,影响备份性能 | 使用 ECS 快照,或先升级 ECS 规格 |
| 整机克隆/异地拉起(整机克隆/异地拉起) | 基础版不支持整机恢复 | 使用 ECS 快照 |
| 跨地域/跨账号备份(跨地域/跨账号备份) | 基础版不支持跨地域或跨账号 | 使用云备份 ECS 文件备份标准版(企业级) |
| KMS 加密备份数据(KMS加密备份) | 基础版不支持 KMS 加密 | 使用云备份 ECS 文件备份标准版 |
| 自定义备份策略(自定义备份策略) | 基础版固定为每日一次备份、30 天保留 | 使用云备份 ECS 文件备份标准版(可自定义策略) |
| 数据量 > 2 TB | 备份可能无法在 24 小时内完成 | 联系云备份技术支持,或使用标准版 |
使用限制
| 限制 | 说明 |
|---|---|
| 操作系统 | 不支持 32 位操作系统 |
| 网络类型 | 不支持经典网络(经典网络)ECS |
| 存储类型 | 仅支持块存储(块存储);不支持 NAS/OSS 等网络挂载存储 |
| 依赖服务 | 需要云助手(云助手)服务(2017 年 12 月前购买的 ECS 需手动安装云助手 Agent) |
| ECS 规格 | 建议 >= 1 vCPU、512 MB 内存以保证备份性能 |
| 数据量 | 低优先级:< 600 GB;高优先级:< 2 TB |
场景资格检查(强制第一步)
关键 - 硬门禁:这是所有操作之前的第一步,优先于安装检查、凭证验证和任何工作流。
Agent 必须在执行任何其他步骤之前完成此检查。
决策流程:
用户请求 ECS 备份/恢复
|
+-> 检查“不推荐场景与替代方案”中的每一项
| +-> 匹配任一不推荐场景 -> 执行 [HALT 流程]
| +-> 无匹配 -> 通过,继续“安装要求”
|
+-> 不推荐场景关键词:
- 数据库:MySQL/Oracle/SQL Server/PostgreSQL/MongoDB/Redis/数据库数据目录
- 整机:整机恢复/容灾切换/克隆实例
- 跨地域/跨账号:异地备份/跨账号复制
- 自定义策略:每小时备份/自定义保留期
- 大数据量:数据超过 2 TB
[HALT 流程] - 匹配不推荐场景时必须执行:
- 立即停止 - 不要执行安装检查、凭证验证、参数确认或任何 CLI 命令
- 向用户输出警告 - 解释当前场景为何不适合 ECS 文件备份基础版(引用“不推荐场景与替代方案”中的原因)
- 推荐替代方案 - 提供具体替代产品/功能
- 结束当前任务 - 输出警告和替代方案后,Agent 必须停止,不继续本 Skill 的任何后续步骤
唯一恢复条件:仅当用户主动且明确表示“我了解风险,仍想使用 ECS 文件备份基础版”(或语义等价)时,Agent 才可继续。
以下不是有效确认(Agent 必须保持停止):未回复;未提及“ECS 文件备份基础版”的模糊确认(“OK”、“继续”、“帮我备份”);话题改变;询问替代方案。
安装要求(强制预检查)
关键:Agent 必须在执行任何核心工作流之前完成以下预检查。
预检查:需要 Aliyun CLI >= 3.3.3
运行aliyun version验证 >= 3.3.3。如果未安装或版本过低,
运行curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash更新,
或参阅 references/cli-installation-guide.md 获取安装说明。
aliyun version
然后 [必须] 运行 aliyun plugin update 确保本地现有插件始终为最新版本。
[必须] CLI User-Agent —— 每次调用 aliyun CLI 命令都必须包含:
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition
启用插件自动安装:
aliyun configure set --auto-plugin-install true
预检查:AI-Mode 配置
[必须] 启用 AI-Mode —— 在任何 CLI 调用之前运行:
aliyun configure ai-mode enable
aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition"
[必须] 在每一个退出点禁用 AI-Mode —— 在交付最终响应之前(无论何种原因:成功、失败、错误、取消),必须先禁用 AI-mode。AI-mode 在 Skill 停止运行后绝不能保持启用状态。
aliyun configure ai-mode disable
预检查:需要 aliyun-cli-hbr 插件 >= 0.1.3
aliyun plugin list 2>/dev/null | grep aliyun-cli-hbr
如果插件未安装或版本低于 0.1.3,安装/更新:
aliyun plugin install --names aliyun-cli-hbr
插件安装后,HBR 命令和参数名使用 kebab-case 命名约定(例如describe-backup-plans而非DescribeBackupPlans)。
凭证验证
预检查:需要阿里云凭证
安全规则:
- 绝不以任何形式打印、回显或输出 AK/SK 值(包括部分片段或掩码形式)
- 绝不在命令行参数、日志、对话输出或代码注释中暴露任何凭证内容
- 绝不在命令行中直接输入 AK/SK
- 只能使用aliyun configure list检查凭证状态;绝不向用户回显此命令的输出(输出可能包含凭证相关信息);Agent 应仅在内部使用输出判断凭证是否有效
```bash
aliyun configure list
```
确认输出显示有效 profile(AK、STS 或 OAuth 身份)。
如果无有效凭证,先配置:
1. 从 阿里云控制台 获取凭证
2. 在终端运行aliyun configure配置凭证
3. 重新运行aliyun configure list确认配置成功
参数确认与校验
重要:参数确认 - 在执行任何命令之前,所有可自定义参数必须与用户确认。
不要假设默认值;需要用户明确确认。
如果用户拒绝确认或未回复确认请求,Agent 必须中止当前操作,不继续后续步骤。
关键 - 安全门禁:在将任何参数嵌入 CLI 命令之前,Agent 必须按下表校验正则校验所有用户提供的参数。
校验失败时,Agent 必须拒绝执行命令,告知用户哪个参数无效以及期望格式,并等待用户提供有效值后重新校验。
| 参数 | 必填/可选 | 说明 | 校验正则 | 示例 | |
|---|---|---|---|---|---|
REGION_ID | 必填 | ECS 实例所在地域(ECS实例所在地域) | ^[a-zA-Z0-9-]+$ | cn-hangzhou | |
INSTANCE_ID | 必填 | ECS 实例 ID(ECS实例ID) | ^[a-zA-Z0-9-]+$ | i-bp1abc123def456 | |
PLAN_ID | 部分操作必填 | 备份计划 ID(备份计划ID);暂停/恢复/取消需要 | ^[a-zA-Z0-9-]+$ | plan-abc123 | |
VAULT_ID | 恢复必填 | 备份仓库 ID(备份仓库ID);通过 search-historical-snapshots 获得 | ^[a-zA-Z0-9-]+$ | v-0001xjb123 | |
SNAPSHOT_ID | 恢复必填 | 快照 ID(备份版本ID);通过 search-historical-snapshots 获得 | ^[a-zA-Z0-9-]+$ | s-0001abc123 | |
SNAPSHOT_HASH | 恢复必填 | 快照哈希(备份版本哈希值);通过 search-historical-snapshots 获得 | ^[a-zA-Z0-9-]+$ | sh-abc123 | |
performanceLevel | 可选 | 备份优先级(备份优先级):L0(默认,数据 < 600 GB)或 L1(数据 600 GB~2 TB) | `^(L0\ | L1)$` | L0 |
ConflictPolicy | 恢复必填 | 文件冲突策略(文件冲突策略):SKIP_THE_FILE(跳过)或 OVERWRITE_EXISTING(覆盖) | `^(SKIP_THE_FILE\ | OVERWRITE_EXISTING)$` | SKIP_THE_FILE |
CLIENT_TOKEN | 恢复必填 | 幂等令牌(幂等令牌);Agent 生成 UUID,超时重试时复用 | ^[a-zA-Z0-9-]{1,64}$ | 550e8400-e29b-41d4-a716-446655440000 | |
keep-latest-snapshots | 可选 | 保留最后一个备份版本(保留最后一个备份版本):1(保留)或 0(不保留) | `^(0\ | 1)$` | 1 |
SOURCE_PATH | 恢复可选 | 要恢复的源文件路径(要恢复的源文件路径) | ^[a-zA-Z0-9/_.-]+$ | /home/data/file.txt | |
TARGET_PATH | 恢复必填 | 恢复目标目录(恢复目标目录);必须已存在 | ^[a-zA-Z0-9/_.-]+$ | /tmp/restore |
RAM 权限
本 Skill 需要 references/ram-policies.md 中详述的权限。
推荐系统策略:AliyunHBRFullAccess
核心工作流
关键:在执行以下任何工作流之前,Agent 必须完成“场景资格检查”和“安装要求(强制预检查)”中的所有步骤。
如果 Aliyun CLI 或 aliyun-cli-hbr 插件未安装或不满足版本要求,必须先安装/更新后再继续。
注意:以下所有 CLI 操作都是幂等的,可安全重试。
1. 激活备份
为指定 ECS 实例激活 ECS 文件备份基础版。
步骤 1:启用云备份服务(首次使用)
aliyun hbr open-hbr-service \
--endpoint hbr.aliyuncs.com \
--read-timeout 60 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition
步骤 2:激活 ECS 实例备份
aliyun hbr create-backup-plan \
--region <REGION_ID> \
--edition BASIC \
--source-type ECS_FILE \
--instance-id <INSTANCE_ID> \
--keep-latest-snapshots 1 \
--options '{"performanceLevel":"<LEVEL>"}' \
--read-timeout 60 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition
幂等操作;对同一实例重复调用不会创建重复备份计划。超时可安全重试。
步骤 3:验证激活状态
激活和客户端安装是异步操作;通常需要几分钟才就绪。
使用“5. 查看 ECS 备份状态”中的状态判定逻辑验证。预期状态推进:Preparing -> Ready -> Backing Up
2. 暂停备份(挂起)
暂停备份计划(备份计划)同时保留现有备份数据;可稍后恢复。
步骤 1:获取备份计划 ID
aliyun hbr describe-backup-plans \
--region <REGION_ID> \
--edition BASIC \
--source-type ECS_FILE \
--filters '[{"Key":"instanceId","Values":["<INSTANCE_ID>"]}]' \
--read-timeout 60 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition
从响应中提取 PlanId。
步骤 2:暂停备份
aliyun hbr disable-backup-plan \
--region <REGION_ID> \
--plan-id <PLAN_ID> \
--edition BASIC \
--read-timeout 60 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition
3. 恢复备份
恢复之前暂停的备份计划。
aliyun hbr enable-backup-plan \
--region <REGION_ID> \
--plan-id <PLAN_ID> \
--edition BASIC \
--read-timeout 60 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition
4. 取消备份(删除)
警告:此操作将永久删除所有备份数据,不可逆!执行前必须确认用户意图。
如果用户未明确确认删除,Agent 必须中止操作,不继续。
步骤 1:获取备份计划 ID
aliyun hbr describe-backup-plans \
--region <REGION_ID> \
--source-type ECS_FILE \
--edition BASIC \
--filters '[{"Key":"instanceId","Values":["<INSTANCE_ID>"]}]' \
--read-timeout 60 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition
步骤 2:删除备份计划
aliyun hbr delete-backup-plan \
--region <REGION_ID> \
--plan-id <PLAN_ID> \
--edition BASIC \
--read-timeout 60 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition
取消后,实例停止产生费用;删除的备份数据无法恢复。对已删除的计划可安全重复调用。
5. 查看 ECS 备份状态
步骤 1:查询备份计划
aliyun hbr describe-backup-plans \
--region <REGION_ID> \
--edition BASIC \
--source-type ECS_FILE \
--filters '[{"Key":"instanceId","Values":["<INSTANCE_ID>"]}]' \
--read-timeout 60 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition
步骤 2:查询最新备份任务
aliyun hbr describe-backup-jobs-2 \
--region <REGION_ID> \
--edition BASIC \
--source-type ECS_FILE \
--filters '[{"Key":"instanceId","Values":["<INSTANCE_ID>"]}]' \
--read-timeout 60 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition
describe-backup-jobs-2 返回按创建时间降序排列的备份任务;第一条记录是最新执行结果。
状态判定逻辑
describe-backup-plans 未找到计划 -> 未激活(未激活)
describe-backup-plans 找到计划
+-> Disabled = true -> 已暂停(已暂停)
+-> 查询 describe-backup-jobs-2 获取最新备份任务
+-> 无备份任务 -> 准备中(准备中)
+-> 有备份任务(第一条记录 = 最新结果)
+-> COMPLETE/PARTIAL_COMPLETE -> 备份正常(备份正常)
+-> RUNNING/QUEUED/CREATED -> 备份中(备份中)
+-> CANCELED -> 已取消(已取消)
+-> FAILED/EXPIRED -> 备份异常(备份异常);通过 describe-backup-clients 排查
辅助查询命令
查看备份客户端状态:
aliyun hbr describe-backup-clients \
--region <REGION_ID> \
--client-type ECS_CLIENT \
--instance-ids '["<INSTANCE_ID>"]' \
--read-timeout 60 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition
查看备份历史(快照列表):
aliyun hbr search-historical-snapshots \
--region <REGION_ID> \
--edition BASIC \
--source-type ECS_FILE \
--query '[{"field":"instanceId","value":"<INSTANCE_ID>","operation":"MATCH_TERM"}]' \
--read-timeout 60 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition
6. 查看免费额度与容量
aliyun hbr get-basic-statistics \
--source-type ECS_FILE \
--read-timeout 60 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition
关键字段:GlobalStatistics.ProtectedDataSize 是已备份 ECS 实例的块存储总容量(字节)。
免费额度规则:每账号 100 GiB(永久,跨所有地域共享)。超出额度部分按量付费计费;计费基于已备份 ECS 实例上挂载的块存储总容量。
7. 文件恢复
aliyun hbr create-restore-job \
--region <REGION_ID> \
--restore-type ECS_FILE \
--edition BASIC \
--source-type ECS_FILE \
--vault-id <VAULT_ID> \
--snapshot-id <SNAPSHOT_ID> \
--snapshot-hash <SNAPSHOT_HASH> \
--include '["<SOURCE_PATH>"]' \
--target-instance-id <INSTANCE_ID> \
--target-path <TARGET_PATH> \
--options '{"ConflictPolicy":"<CONFLICT_POLICY>"}' \
--client-token <UUID> \
--read-timeout 60 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition
VaultId、SnapshotId和SnapshotHash可通过search-historical-snapshots获得。
省略--include将恢复快照中的所有文件。TargetPath必须是目标 ECS 实例上已存在的目录;否则恢复任务会报TARGET_NOT_EXIST错误。
使用OVERWRITE_EXISTING策略将覆盖目标路径下同名文件;执行前需要用户明确确认。如果用户未确认,Agent 必须中止恢复操作。
使用--client-token确保幂等性;Agent 应生成 UUID 作为 ClientToken,超时重试时复用同一 token 以防止重复恢复任务。
查看恢复进度
aliyun hbr describe-restore-jobs-2 \
--region <REGION_ID> \
--edition BASIC \
--restore-type ECS_FILE \
--read-timeout 60 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition
8. 修改定时备份时间
步骤 1:获取备份计划 ID
aliyun hbr describe-backup-plans \
--region <REGION_ID> \
--edition BASIC \
--source-type ECS_FILE \
--filters '[{"Key":"instanceId","Values":["<INSTANCE_ID>"]}]' \
--read-timeout 60 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition
步骤 2:更新备份计划
aliyun hbr update-backup-plan \
--region <REGION_ID> \
--plan-id <PLAN_ID> \
--edition BASIC \
--schedule 'I|<TIMESTAMP>|P1D' \
--read-timeout 60 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition
计划格式:I|<start_timestamp>|P1D,其中 start_timestamp 是 Unix 秒级时间戳,P1D表示每天一次(基础版固定)。
9. 切换保留最后快照
启用后,即使所有备份版本都超出保留期,系统也会保留最后一个版本而不删除。
aliyun hbr update-backup-plan \
--region <REGION_ID> \
--plan-id <PLAN_ID> \
--edition BASIC \
--keep-latest-snapshots <0_OR_1> \
--read-timeout 60 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition
1= 保留最后一个备份版本(推荐);0= 不保留;所有超过 30 天的备份点将自动删除。
10. 调整备份执行优先级
aliyun hbr update-backup-plan \
--region <REGION_ID> \
--plan-id <PLAN_ID> \
--edition BASIC \
--options '{"performanceLevel":"<LEVEL>"}' \
--read-timeout 60 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-cloudbackup-ecs-file-backup-essential-edition
performanceLevel 的有效值见参数确认表;详细用例描述在 references/related-apis.md 中。
验证
参考
| 文档 | 链接 |
|---|---|
| CLI 安装指南 | references/cli-installation-guide.md |
| API 与 CLI 命令参考 | references/related-apis.md |
| RAM 权限策略 | references/ram-policies.md |
| 验证方法 | references/verification-method.md |
| 官方用户指南 | ECS 文件备份基础版 |
| 云备份 API 文档 | HBR API 参考 |
阿里云skills
◯ 评论 0