加固备份恢复本地基线(07-26-internal-ops-recovery-baseline)

这个提交包含在:
2026-07-26 20:41:22 +08:00
父节点 b3df123330
当前提交 706941eb5c
共修改 16 个文件,包含 792 行新增和 61 行删除
+8 -6
查看文件
@@ -33,8 +33,9 @@
- [ ] 全量回归(建议):`cd server && RUN_AUDIT_REGRESSION=1 RUN_OCR_REGRESSION=1 ./scripts/regression-all.sh`
- [ ] 备份(DB + 文件存储):
- [ ] `set -a && source deploy/trialrun/.env && set +a`
- [ ] `./scripts/backup-db.sh`(记录输出文件名)
- [ ] `./scripts/backup-storage.sh`(记录输出文件名)
- [ ] `DB_TOOL_MODE=docker DB_CONTAINER=hyb-oa-trialrun-db ./scripts/backup-all.sh`
- [ ] 同一批次包含 `database.dump`、`storage.tar.gz`、`manifest.json`,两份 SHA-256 校验通过
- [ ] 完整批次已复制到获批异机/异盘,并记录保留周期
## B. 发布(Deploy)
- [ ] 本地工作树 clean,目标 commit 已进入 upstream;部署日志中的 commit 与 `/ready.data.buildSha` 一致
@@ -71,8 +72,8 @@
- [ ] **EXTERNAL_GATED**:若回滚目标仍包含旧认证挑战逻辑,人工确认边缘继续关闭 `/api/auth/forgot-password`、`/api/auth/reset-password`、`/api/auth/email-login/code`、`/api/auth/email-login/verify`;脚本不会自动改边缘,未确认不得回滚开放,直到安全版本恢复
- [ ] 停止 server:`docker-compose -f deploy/trialrun/docker-compose.yml --env-file deploy/trialrun/.env stop server`
- [ ] 恢复 DB:`./scripts/restore-db.sh <db.dump>`
- [ ] 恢复存储:`./scripts/restore-storage.sh <storage.tar.gz> deploy/trialrun/data/storage`
- [ ] 恢复 DB/存储属于获批事故操作;当前脚本仅允许 `RESTORE_SCOPE=shadow`,不得绕过后直接指向真实目标
- [ ] 已先在独立数据库和空附件目录完成同批次影子恢复,数据库名精确确认且 manifest/SHA-256 匹配
- [ ] 回到上个版本:`git checkout <previous-tag>`
- [ ] 重启并探活:
- [ ] `docker-compose -f deploy/trialrun/docker-compose.yml --env-file deploy/trialrun/.env up -d --build server`
@@ -111,8 +112,9 @@
- [ ] 管理员账号仍可进入工作区设置、人员、组织、流程定义、系统设置、功能开关和审计日志。
- [ ] 已确认不删除备用模块数据;恢复某模块只通过工作区设置或功能开关完成。
- [ ] 已生成 `week-01.md` 到 `week-04.md` 的观测计划,至少完成第 1 周导出。
- [ ] 已完成 DB + 文件存储备份,并记录输出文件名。
- [ ] 已在同机或临时环境完成一次恢复演练,恢复后 `/ready` 通过。
- [ ] 已完成 DB + 文件存储同批次备份,manifest/SHA-256 通过并复制到异机/异盘。
- [ ] 已运行 `./scripts/qa/run-backup-restore-drill.sh` 完成本地合成数据演练。
- [ ] 已在获批临时环境完成真实格式影子恢复,恢复后 `/ready` 通过。
- [ ] 已核对管理员账号清单和 smoke 账号,自动化不使用真实业务账号。
- [ ] 已执行 `cd server && npm audit --omit=dev --audit-level=high` 并完成高危/严重漏洞评审;若仍失败,不进入公网正式试点。
- [ ] 已执行 `bash scripts/qa/run-release-gate.sh r66-trialrun`;若数据库或公网账号条件不足,已记录手工替代步骤。