目标仓库: perfect-panel/backend
目标分支: next
规划基线: origin/main@ea28a7685f4c89f91895c4d789a5726e806aa3f0
目标
建立常态生产备份、恢复验证、灾难恢复演练和 RPO/RTO Runbook,确保数据库、Redis 关键数据、对象存储和配置在故障或误操作后可按流程恢复。该项为 P1 常态 DR;升级前可恢复备份门禁仍由 #210/P0 发布流程承接。
源码已有
- 已有 MySQL/PostgreSQL migration up/down、mysql2postgres dry-run、启动自动 migration 和配置生成。
- 已有 Redis/Asynq 依赖、对象存储规划、日志清理保留期底座。
- 当前缺少生产备份计划、恢复演练、RPO/RTO、Redis 分类和对象存储备份/校验流程。
范围
- 定义备份对象:主数据库、Redis 中必须恢复的数据类别、对象存储、配置文件、密钥材料引用、发布制品和迁移版本。
- 定义备份频率、保留期、加密、完整性校验、跨区域/离线副本策略。
- 编写恢复 Runbook:单表误删、整库恢复、跨数据库恢复、对象存储回滚、Redis 重建、迁移失败恢复。
- 定期演练并记录 RPO/RTO 实测值、失败原因、改进项和责任人。
- 与发布流程衔接:发布前备份、发布后验证、回滚时选择备份点。
明确不做
数据 / API / 流程
- 数据:backup_runs、restore_drills、backup_artifacts、checksum、retention_policy、RPO/RTO 目标与实测。
- API:Admin 备份任务记录、恢复演练记录、下载/校验引用、失败原因查询;真正恢复操作默认走人工审批 Runbook。
- 流程:计划备份 → 校验校验和 → 写任务记录 → 周期恢复演练 → 记录 RPO/RTO → 修订 Runbook。
RBAC / 审计
- 查看备份、触发备份、登记恢复演练、查看恢复细节和导出报告分别登记权限点。
- 触发备份、标记备份失效、登记恢复、读取敏感恢复元数据写管理员审计。
- 审计中只记录存储位置引用、哈希和对象 ID,不记录访问密钥或临时签名 URL。
验收
- 有覆盖数据库、对象存储、Redis 分类和配置的备份清单与保留策略。
- 至少完成一次演练环境整库恢复和一次对象存储抽样恢复,并记录实测 RPO/RTO。
- 备份记录可查询最近成功时间、大小、校验结果、保留到期时间和失败摘要。
- Runbook 包含发布失败、误删、存储不可用和迁移回滚四类场景。
- 备份/恢复相关操作均受 RBAC 控制并写审计。
依赖
开发与测试门禁
- MySQL/PostgreSQL 迁移、OpenAPI 契约、RBAC API 权限点、管理员审计和敏感信息脱敏测试必须同步提交。
- 复用现有源码能力和 P0 底座,不重复实现支付、订阅、流量、修复命令或发布门禁执行层。
目标
建立常态生产备份、恢复验证、灾难恢复演练和 RPO/RTO Runbook,确保数据库、Redis 关键数据、对象存储和配置在故障或误操作后可按流程恢复。该项为 P1 常态 DR;升级前可恢复备份门禁仍由 #210/P0 发布流程承接。
源码已有
范围
明确不做
数据 / API / 流程
RBAC / 审计
验收
依赖
开发与测试门禁