AZ CLI配置Azure VM备份策略设30天保留仅能查询7天备份问题
Azure 虚拟机备份仅显示7天记录问题排查方案
核心原因说明
最常见原因:查询命令使用错误
你当前使用的az backup job list是备份作业执行日志查询命令,默认仅返回最近7天的作业记录,该限制与备份保留策略无关,哪怕你设置了30天保留,该命令也不会默认返回更早的作业日志。你要查询实际可用于恢复的备份数据,需要使用恢复点查询命令。
其他可能原因
- 备份策略30天保留规则是近期才修改完成的,修改前的备份按旧保留规则已被清理
- 虚拟机的备份保护是近7天内才启用的,暂未生成超过7天的备份数据
- 中间存在多天备份作业执行失败,没有生成对应的备份恢复点
排查步骤
- 查询实际可用的备份恢复点
首先执行以下命令获取虚拟机对应的备份容器和备份项名称:
# 查询IaaS虚拟机备份容器列表 az backup container list --resource-group $MYGROUP --vault-name $MYVAULT --backup-management-type AzureIaasVM --output table # 查询对应容器下的备份项列表 az backup item list --resource-group $MYGROUP --vault-name $MYVAULT --backup-management-type AzureIaasVM --output table
再用恢复点查询命令查看所有符合保留策略的备份:
az backup recoverypoint list \ --resource-group $MYGROUP \ --vault-name $MYVAULT \ --container-name <替换为你的备份容器名> \ --item-name <替换为你的备份项名> \ --output table
返回的结果才是实际可用于恢复的备份,会遵循你设置的30天保留规则。
2. 确认策略绑定时间
执行以下命令查看虚拟机绑定备份策略的时间:
az backup item show \ --resource-group $MYGROUP \ --vault-name $MYVAULT \ --container-name <替换为你的备份容器名> \ --name <替换为你的备份项名> \ --query "policyId,lastProtectionUpdateTime"
如果绑定30天保留策略的时间晚于30天前,自然不会有超过该时间的备份记录。
3. 查询更长时间范围的备份作业
如果你需要确认更早的备份执行情况,给az backup job list添加时间范围参数即可突破默认7天限制:
# 查询过去30天的所有备份作业 az backup job list \ --resource-group $MYGROUP \ --vault-name $MYVAULT \ --start-time $(date -d "-30 days" +%Y-%m-%d) \ --end-time $(date +%Y-%m-%d) \ --output table
检查返回结果中是否存在失败的备份作业,若有可查看作业详情定位失败原因。
解决方法
- 若为命令使用错误,直接改用
az backup recoverypoint list查询恢复点即可获取所有符合保留策略的备份 - 若为策略绑定时间不足,只需等待备份按策略正常执行,30天后即可积累最多30天的备份恢复点
- 若存在备份作业失败,根据作业报错信息排查虚拟机Agent状态、备份权限、网络连通性等问题,确保每日备份正常执行
内容的提问来源于stack exchange,提问作者RCat
相关产品推荐
相关产品推荐

