2.2 KiB
2.2 KiB
自动备份运行身份失败实施清单
1. Pre-fix
- 确认 daily service 02:30 非零退出且告警类别为
phase_runtime_identity_failed。 - 按 runner 的 Compose 选择逻辑确认唯一根因为附件宿主挂载不匹配。
- 确认不是 symlink/realpath/inode 等价,其他五项 runtime identity 通过。
- 确认最近成功恢复点约 11 小时,尚未超过 watchdog/dead-man 窗口。
- 确认 07:10
phase_stale_check_failed由 watchdog 复用同一 runtime identity 检查触发,不是独立的归档损坏结论。 - 运行本地
bash scripts/qa/run-automatic-backup-contract.sh(73 项通过)。
2. Unit Refresh
- 重新只读解析当前实际附件 mount source并验证安全边界。
- 保存六个自动备份 unit 的 root-only 临时快照。
- 沿用现有 unit 合同,仅替换实际附件宿主目录,调用安装器
enable。 - 验证 daily/watchdog/drill timers enabled/active 和六项 runtime identity 全部匹配。
3. Recovery Backup
- 手工启动 daily service;记录稳定 phase/result,不输出原始日志。
- 验证新的 last-success 时间、项目/build 身份和 manifest 哈希格式。
- 通过仅在 ARM finalize 成功后写入的 success state 验证新归档闭环;普通 ARM 账号无 archive 读取权限,未扩大权限取证。
- 验证 alert state 为
PASS_AUTOMATIC_BACKUP_COMPLETE。 - 用户确认群内只收到一条
PASS_AUTOMATIC_BACKUP_COMPLETE / healthy恢复通知。 - 验证应用健康 timer、备份 watchdog/drill 和 ARM dead-man/receiver 不受影响。
4. Cleanup and Governance
- 删除临时 unit 快照;不删除旧目录、旧批次或失败证据。
- 更新部署规约/checklist 的自动备份 unit 漂移门禁。
- 运行 task validate、governance、sensitive、docs audit 和
git diff --check;全部无错误,docs audit 仅保留既有 22 项未登记文档 warning。
5. Rollback
- unit 刷新或 identity 复检失败:恢复六个 unit 快照并 daemon-reload,不补跑备份。
- 补跑在 paired/offhost phase 失败:保留已纠正 unit,依据安全 phase 诊断继续处理,不回退旧附件目录。