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 规格 | | 整机克隆/异地拉起(DR) | 基础版不支持整机恢复 | 使用 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 必须在执行任何其他步骤前完成此检查。
决策流程:
User requests ECS backup/restore
|
+-> Check each item in "Not-Recommended Scenarios & Alternatives"
| +-> Matches any not-recommended scenario -> Execute [HALT Flow]
| +-> No match -> Pass, continue to "Installation Requirements"
|
+-> Not-recommended scenario keywords:
- Database: MySQL/Oracle/SQL Server/PostgreSQL/MongoDB/Redis/database data directory
- Full-machine: full-machine recovery/DR failover/clone instance
- Cross-region/cross-account: remote backup/cross-account replication
- Custom policy: hourly backup/custom retention period
- Large data volume: data exceeds 2 TB
[终止流程] - 匹配到不推荐场景时必须执行:
- 立即停止 - 不得执行安装检查、凭证验证、参数确认或任何 CLI 命令
- 向用户输出警告 - 说明当前场景为何不适合 ECS 文件备份基础版(引用“不推荐场景与替代方案”中的原因)
- 推荐替代方案 - 提供具体的替代产品或功能
- 结束当前任务 - 输出警告和替代方案后,agent 必须停止,且不得继续执行此 Skill 的任何后续步骤
唯一恢复条件:只有当用户主动且明确地声明“我了解风险,但仍希望使用 ECS 文件备份基础版”(或语义等同的表述)时,agent 才可继续。
以下内容均不是有效确认(agent 必须保持停止状态):未回复;含糊确认(“OK”“继续”“帮我备份”)且未提及“ECS 文件备份基础版”;更换话题;询问替代方案。
---
安装要求(强制预检查)
关键:agent 必须在执行任何核心工作流前完成以下预检查。
预检查:要求阿里云 CLI 版本 >= 3.3.3
运行 aliyun version,验证版本是否 >= 3.3.3。如果未安装或版本过低,
运行 curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash 进行更新,
或参阅 [references/cli-installation-guide.md](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
```
确认输出显示有效的配置文件(AK、STS 或 OAuth 身份)。
如果不存在有效凭证,请先配置:
1. 从阿里云控制台获取凭证
2. 在终端中运行 aliyun configure 配置凭证
3. 重新运行 aliyun configure list,确认配置成功
---
参数确认与验证
重要:参数确认 - 执行任何命令前,所有可自定义参数都必须经用户确认。
不得假定默认值;必须获得用户明确确认。
如果用户拒绝确认或未回应确认请求,agent 必须中止当前操作,且不得继续执行后续步骤。
关键 - 安全门槛:将任何参数嵌入 CLI 命令前,agent 必须使用下表中的验证正则表达式验证用户提供的所有参数。
验证失败时,agent 必须拒绝执行该命令,告知用户哪个参数无效以及所需格式,并等待用户提供有效值后再重新验证。
| 参数 | 必填/可选 | 描述 | 验证正则表达式 | 示例 | |-----------|-------------------|-------------|------------------|---------| | REGION_ID | 必填 | ECS 实例所在地域 | ^[a-zA-Z0-9-]+$ | cn-hangzhou | | INSTANCE_ID | 必填 | ECS 实例 ID | ^[a-zA-Z0-9-]+$ | i-bp1abc123def456 | | PLAN_ID | 部分操作必填 | 备份计划 ID;暂停、恢复或取消时需要 | ^[a-zA-Z0-9-]+$ | plan-abc123 | | VAULT_ID | 恢复时必填 | 备份仓库ID;通过 search-historical-snapshots 获取该 ID | ^[a-zA-Z0-9-]+$ | v-0001xjb123 | | SNAPSHOT_ID | 恢复时必填 | 备份版本ID;通过 search-historical-snapshots 获取该 ID | ^[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](references/ram-policies.md) 中详述的权限。
推荐的系统策略:AliyunHBRFullAccess
---
核心工作流
关键要求:在执行以下任何工作流之前,agent 必须完成“场景适用性检查”和“安装要求(强制预检查)”中的所有步骤。
如果阿里云 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 finds no plan -> Not Activated (未激活)
describe-backup-plans finds a plan
+-> Disabled = true -> Paused (已暂停)
+-> Query describe-backup-jobs-2 for latest backup job
+-> No backup jobs -> Preparing (准备中)
+-> Has backup jobs (first record = latest result)
+-> COMPLETE/PARTIAL_COMPLETE -> Backup Normal (备份正常)
+-> RUNNING/QUEUED/CREATED -> Backing Up (备份中)
+-> CANCELED -> Canceled (已取消)
+-> FAILED/EXPIRED -> Backup Abnormal (备份异常); troubleshoot via 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,并在超时重试时复用同一令牌,以防止创建重复的恢复任务。
查看恢复进度
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](references/related-apis.md)。
---
验证
详情请参见 [references/verification-method.md](references/verification-method.md)。
---
参考资料
| 文档 | 链接 | |----------|------| | CLI 安装指南 | [references/cli-installation-guide.md](references/cli-installation-guide.md) | | API 和 CLI 命令参考 | [references/related-apis.md](references/related-apis.md) | | RAM 权限策略 | [references/ram-policies.md](references/ram-policies.md) | | 验证方法 | [references/verification-method.md](references/verification-method.md) | | 官方用户指南 | ECS 文件备份基础版 | | 云备份 API 文档 | HBR API 参考文档 |