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 流程] - 匹配不推荐场景时必须执行:

  1. 立即停止 - 不要执行安装检查、凭证验证、参数确认或任何 CLI 命令
  2. 向用户输出警告 - 解释当前场景为何不适合 ECS 文件备份基础版(引用“不推荐场景与替代方案”中的原因)
  3. 推荐替代方案 - 提供具体替代产品/功能
  4. 结束当前任务 - 输出警告和替代方案后,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
VaultIdSnapshotIdSnapshotHash 可通过 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|&lt;start_timestamp&gt;|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 中。

验证

详情见 references/verification-method.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 参考

文档 6 / 6:alibabacloud-analyticdb-mysql-copilot