尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

使用 AWS CLI `backup get-backup-plan` 命令查询备份计划详情:示例与实现解析

发布时间:2026/9/15 16:51:46

资讯中心
01
ARTICLE

使用 AWS CLI `backup get-backup-plan` 命令查询备份计划详情:示例与实现解析

使用 AWS CLI `backup get-backup-plan` 命令查询备份计划详情:示例与实现解析
使用 AWS CLIbackup get-backup-plan命令查询备份计划详情示例与实现解析【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cliaws backup get-backup-plan是 AWS Backup 服务中用于按BackupPlanId查询指定备份计划完整配置计划名称、备份规则、调度表达式、生命周期等及其元数据ARN、版本号、创建时间的核心命令。本文以本仓库中 get-backup-plan.rst 官方示例为骨架结合 create-backup-plan.rst 的建计划示例与 Backup 服务模型 中的底层定义带你读懂该命令的参数、返回字段与内部实现并掌握在自动化脚本中正确解析结果的实战方法。一、命令概述get-backup-plan 能做什么AWS Backup 的备份计划Backup Plan是备份策略的载体它由计划名称和一组**备份规则Rules**组成每条规则定义一个独立的定时备份任务可针对不同的资源选择集。当你需要审计已有计划、排查备份未按预期执行的原因或将已有计划的配置导出为模板复用时都需要先通过get-backup-plan获取计划的当前完整定义。从服务模型看该操作对应的底层 API 为 GetBackupPlan它是一个HTTP GET请求请求路径为/backup/plans/{backupPlanId}/并且被标记为幂等操作idempotent——即重复调用不会产生副作用可以放心在脚本中重试。其可能返回的异常包括ResourceNotFoundException计划不存在、InvalidParameterValueException参数非法、MissingParameterValueException缺少必填参数和ServiceUnavailableException服务暂不可用。二、入门示例获取指定备份计划的详情仓库中的官方示例 get-backup-plan.rst 给出了最直接的使用方式——仅传入必填的backup-plan-idaws backup get-backup-plan \ --backup-plan-id fcbf5d8f-bd77-4f3a-9c97-f24fb3d373a5命令输出如下JSON 格式{ BackupPlan: { BackupPlanName: Example-Backup-Plan, Rules: [ { RuleName: DailyBackups, TargetBackupVaultName: Default, ScheduleExpression: cron(0 5 ? * * *), StartWindowMinutes: 480, CompletionWindowMinutes: 10080, Lifecycle: { DeleteAfterDays: 35 }, RuleId: 70e0ccdc-e9df-4e83-82ad-c1e5a9471cc3 } ] }, BackupPlanId: fcbf5d8f-bd77-4f3a-9c97-f24fb3d373a5, BackupPlanArn: arn:aws:backup:us-west-2:123456789012:backup-plan:fcbf5d8f-bd77-4f3a-9c97-f24fb3d373a5, VersionId: NjQ2ZTZkODktMGVhNy00MmQ0LWE4YjktZTkwNTQ3OTkyYTcw, CreationDate: 1568926091.57 }该示例演示的是一份名为Example-Backup-Plan的简单计划其中仅含一条规则DailyBackups每天 UTC 05:00cron(0 5 ? * * *)触发备份到名为Default的备份库启动窗口 480 分钟、完成窗口 10080 分钟恢复点在创建 35 天后自动删除。三、参数详解输入字段与约束根据 GetBackupPlanInput 的结构定义该命令支持以下三个参数参数位置必填说明--backup-plan-idURI 路径{backupPlanId}是唯一标识一个备份计划示例值为 UUID 格式如fcbf5d8f-bd77-4f3a-9c97-f24fb3d373a5--version-id查询字符串versionId否计划版本 ID。备份计划每次更新都会生成新的版本指定后可查询历史版本的配置不指定则返回最新版本--max-scheduled-runs-preview查询字符串MaxScheduledRunsPreview否要预览的未来定时备份次数合法范围为0–10默认0表示响应中不包含计划运行预览大于 0 时响应会携带ScheduledRunsPreview字段从模型中的location: uri/location: querystring标注可以确认backup-plan-id会被拼接到 GET 请求的 URL 路径中而version-id与MaxScheduledRunsPreview以查询参数形式传递。这意味着该命令天然适合直接对 HTTP API 做等价的curl请求也便于理解其网络行为。实战提示在未指定--version-id时响应中的VersionId即当前生效版本若你在审计中需要对比计划的历史变更可先用list-backup-plan-versions列出所有版本再逐个调用get-backup-plan --version-id id追溯配置演进。四、返回字段全解读依据 GetBackupPlanOutput 与 BackupPlan 的定义响应由计划本体与计划元数据两大部分构成。4.1 计划本体 BackupPlanBackupPlanName必填计划显示名称。模型规定只能包含字母数字或-_.字符经 CLI/API 创建时长度可为 1–200 字符控制台创建为 1–50 字符。Rules必填BackupRule对象数组每条规则对应一个独立调度任务。AdvancedBackupSettings可选各资源类型的备份高级选项列表仅在使用高级选项如 Windows VSS 备份时出现。ScanSettings可选计划的扫描配置包含恶意软件扫描器、所选资源与扫描角色。4.2 规则对象 BackupRule 的关键字段规则对象在 BackupRule 中定义以下字段最常被审计或解析字段说明与约束RuleName规则显示名1–50 个字母数字或-_.字符规则内必填TargetBackupVaultName目标备份库名称存储备份的逻辑容器按账户与区域唯一必填ScheduleExpressionUTC 时区的 cron 表达式指定 Backup 何时发起备份任务不提供时默认使用cron(0 5 ? * * *)即每天 05:00 UTC示例中的值恰为默认值StartWindowMinutes调度时间后、任务必须成功开始的最长等待分钟数。若提供该值最小为 60 分钟最大 100 年即 52,560,000 分钟窗口内任务保持CREATED状态Backup 会至少每 10 分钟自动重试一次直至进入RUNNING或窗口耗尽进入EXPIREDCompletionWindowMinutes任务成功开始后必须完成的时间窗口分钟超时将被取消可选Lifecycle恢复点生命周期见下文RuleId唯一标识该规则的 ID如示例70e0ccdc-e9df-4e83-82ad-c1e5a9471cc3用于关联定时调度与备份任务EnableContinuousBackup是否创建支持时间点恢复PITR的连续备份true为连续备份false或未指定为快照备份CopyActions跨区域/跨库复制操作的详情数组ScheduleExpressionTimezone调度表达式所在时区默认 UTCRecoveryPointTags从该规则恢复资源时附加到资源的标签4.3 生命周期 Lifecycle生命周期在 Lifecycle 中定义控制恢复点自动转冷与自动删除MoveToColdStorageAfterDays恢复点创建多少天后转入冷存储可选。DeleteAfterDays恢复点创建多少天后被删除。该值必须至少比MoveToColdStorageAfterDays大 90 天因为转入冷存储的备份需在冷存储中至少存放 90 天且转冷天数在转入冷存储后不可更改。OptInToArchiveForSupportedResources为true时计划按生命周期设置将受支持资源转入归档冷存储层。DeleteAfterEvent指定某事件发生后删除恢复点如DELETE_AFTER_COPY仅在输出中可见不可作为输入。若要移除既有生命周期、让恢复点无限期保留可将MoveToColdStorageAfterDays与DeleteAfterDays均设为-1。4.4 计划元数据BackupPlanId计划 ID与请求参数一致。BackupPlanArn计划的 ARN格式如arn:aws:backup:us-west-2:123456789012:backup-plan:fcbf5d8f-bd77-4f3a-9c97-f24fb3d373a5。VersionId计划版本 ID——一个随机生成、UTF-8 编码、最长 1024 字节、不可编辑的字符串。CreatorRequestId创建请求的标识符用于失败后安全重试可选。CreationDate / DeletionDate / LastExecutionDate创建、删除、最后一次执行的时间Unix 时间戳格式、UTC、精确到毫秒如1568926091.57表示 2019-09-19 左右。ScheduledRunsPreview仅当MaxScheduledRunsPreview大于 0 时返回最多 10 条未来备份执行信息含计划时间、执行类型与关联规则 ID。五、从创建到查询的完整链路get-backup-plan返回的正是create-backup-plan提交配置的回读两者在仓库示例中互为镜像。create-backup-plan.rst 展示了创建一份 35 天保留期计划的完整命令aws backup create-backup-plan \ --backup-plan {\BackupPlanName\:\Example-Backup-Plan\,\Rules\:[{\RuleName\:\DailyBackups\,\ScheduleExpression\:\cron(0 5 ? * * *)\,\StartWindowMinutes\:480,\TargetBackupVaultName\:\Default\,\Lifecycle\:{\DeleteAfterDays\:35}}]}对比可见创建时提交的BackupPlanName、RuleName、ScheduleExpression、StartWindowMinutes、TargetBackupVaultName、Lifecycle.DeleteAfterDays会被原样保存在计划中而get-backup-plan的响应还会额外回显服务端生成的RuleId、VersionId、CreationDate等元数据。因此用get-backup-plan校验创建结果、确认配置已按预期落盘是自动化运维中的标准闭环操作。在服务模型层创建操作对应的 CreateBackupPlan 要求请求体中的BackupPlan使用BackupPlanInput结构其必填字段同为BackupPlanName与Rules而查询操作返回的BackupPlan结构则多了RuleId、ScanSettings等服务端字段——这正是提交输入结构与回读输出结构在设计上的分工。六、脚本化实战解析与复用查询结果6.1 用 jq 提取关键信息实际脚本中通常配合jq解析例如提取计划名称与所有规则的调度表达式aws backup get-backup-plan \ --backup-plan-id fcbf5d8f-bd77-4f3a-9c97-f24fb3d373a5 \ --query BackupPlan \ --output json | jq {name: .BackupPlanName, rules: [.Rules[] | {rule: .RuleName, cron: .ScheduleExpression, vault: .TargetBackupVaultName, retention_days: .Lifecycle.DeleteAfterDays}]}6.2 结合模板实现计划即代码get-backup-plan的输出还可配合get-backup-plan-from-template将计划模板 ID 转换为计划 JSON示例见 get-backup-plan-from-template.rst与export-backup-plan-template使用将现有计划的 JSON 导出为模板后即可在多个账户或区域中批量复刻相同的备份策略实现备份计划的版本化与代码化管理。6.3 常见错误处理ResourceNotFoundExceptionbackup-plan-id不存在或属于其他账户/区域。先用list-backup-plans确认 ID并核对--region。MissingParameterValueException / InvalidParameterValueException未提供backup-plan-id或--max-scheduled-runs-preview超出 0–10 范围服务模型 GetBackupPlanInput 中明确标注合法范围为 0-10。ServiceUnavailableException服务暂时不可用由于该操作幂等可按指数退避策略安全重试。七、小结aws backup get-backup-plan是审计与管理 AWS Backup 计划的入口命令一个必填参数即可取回计划的完整 JSON 定义与元数据。理解其返回结构中BackupPlan.Rules、Lifecycle等字段的约束如冷存储 90 天下限、启动窗口最小 60 分钟、默认 cron 表达式能帮助你准确解读任意计划的真实行为配合create-backup-plan、模板类命令与jq解析即可在脚本中实现备份策略的创建、校验、导出与批量复用的全链路自动化。仓库内的 示例文件 与服务模型 service-2.json 是继续深入查阅各字段完整约束与异常类型的权威参考。【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。