开始之前
- 已完成的服务清单以及处理其备份数据的权限。
- 选定的备份集、其时间戳、软件版本以及恢复密钥的授权访问权限。
- 具有足够空间和访问控制措施以存放恢复信息的独立目标位置。
- 两个具有不同权限的无害见证账户,以及一个已知页面和附件。
- 指定的测试负责人和另一位可审核结果的维护人员。
确定什么才算一个可用的笔记本
使用来自 服务清单的示例工作坊 wiki。其成功标准很明确:编辑者可以找到并修改测试页面,读者可以查看允许的说明,私密整理簿保持隐藏,附加图表可以打开。在打开备份之前,将这些检查作为测试计划。
| 见证 | 预期观察结果 | 在演练期间记录 |
|---|---|---|
| 读者账户 | 可以阅读允许的维修页面;不能编辑它。 | 通过/失败以及所检查的页面。 |
| 编辑者账户 | Can save a harmless change to the designated test page. | Change and resulting revision. |
| Restricted book | Unavailable to the reader through navigation and a direct link. | Account, path and observed access. |
| Witness diagram | Opens from its page with expected contents. | Filename and any mismatch. |
| Notification | Captured only in the isolated test destination. | Destination and number observed. |
Choisissez des témoins qui existaient au moment de la création de la sauvegarde sélectionnée. Une page nouvellement créée ne peut pas prouver qu'une sauvegarde plus ancienne est incomplète.
确定确切的恢复集
Écrivez l'identifiant de sauvegarde et l'horodatage sur la fiche de résultats. Incluez la configuration de l'application, les données de la base de données, les pièces jointes et les informations logicielles nécessaires à leur interprétation. Si leurs heures de capture diffèrent, examinez comment votre procédure de sauvegarde assure leur cohérence avant de commencer l'exercice.
For a restic repository, choose an explicit snapshot or carefully check the filters used with latest. Its --path l'option sélectionne un instantané ; elle ne limite pas les fichiers restaurés. Une restauration peut écraser des fichiers existants, ce qui est une raison supplémentaire d'utiliser une cible vide et dédiée. Documentació de restic restore.
区分仓库检查与应用恢复。默认的 restic check 检查仓库结构; check --read-data 还会读取存储的 pack 数据,可能消耗大量传输和时间。两者都不检查成员能否使用你的 wiki。 restic 完整性检查.
让测试副本在启动前保持安静
将生产数据库主机、存储路径和出站凭据排除在测试配置之外。让第二位维护者对照服务映射检查每个目标。在写入文件或数据库对象的任何恢复操作之前,确认目标是独立的。
- 限制对执行演练人员的访问。
- 保持生产 DNS 记录不变。
- 阻止出站投递,或将其替换为经批准的捕获目标。
- 禁用 webhooks、定时集成和队列 worker,直到其测试行为被定义。
- 检查浏览器链接和重定向不会悄悄把测试者带回生产环境。
将恢复的数据视为与原始数据同样敏感。隔离是一项需要证明的操作检查,而不是贴在目录上的标签。如果无法验证目标或控制措施,请在启动应用之前停止。
按刻意安排的顺序恢复各个部分
遵循清单中安装方法和版本的恢复说明。对于 BookStack 示例,官方流程涵盖单独的数据库和文件恢复、保留原始 APP_KEY,并在地址变化时调整应用 URL。容器设置要求在应用容器运行之前完成数据库恢复。 BookStack 恢复顺序和配置说明.
- 准备专用运行时和数据库目标,不启动普通成员流量。
- 恢复匹配的数据库和文件;保持原始备份不变。
- Uygulama test ortamının adreslerini ve kısıtlı harici bağlantıları uygulayın.
- Gerekli dosya sahipliğini ve erişimini uygulamanın kurulum talimatlarına göre kontrol edin.
- 以仍受控的出站操作启动服务,然后运行计划好的见证检查。
先恢复已记录的版本能让例行演练保持聚焦。如果演练还要求更改版本,请单独记录其迁移路径和恢复点。不要将计划外的升级作为无法解释的恢复失败的补救措施。
检查哪些有效,哪些仍然被禁止
在独立的浏览器会话中运行读者和编辑者检查,这样管理员会话就无法掩盖权限故障。通过页面及其直接地址测试一个附件。搜索一个已知短语,跟随一个内部链接,并检查备份中应当存在的一个较旧修订版本。
如果某项检查失败,请记录第一个可观察到的差异。缺失图片所暗示的调查方向,与意外的登录重定向或数据库连接被禁止不同。保留相关错误证据,但不要将私人内容或凭据复制到通用支持笔记中。纠正一个已确定的原因并重复受影响的检查;不要仅仅为了让错误消失而广泛更改权限。
仅针对选定的捕获目标测试电子邮件。BookStack 提供了一个测试电子邮件操作,并说明某些通知失败会出现在日志中而不是用户页面上。请同时查看该证据和可见结果。 BookStack 电子邮件检查和失败行为.
为下一个人留下诚实的结果
Service / test owner / reviewer:
Backup identifier / capture timestamp:
Application and database versions:
Isolated target / access restrictions:
Outbound actions disabled or redirected:
Test start / usable-service checkpoint / finish:
Reader / editor / private book / attachment results:
Search / links / revision / notification results:
Missing information or failed steps:
Corrective action / owner / next exercise:
Test data cleanup completed by:仅在完成工作后输入观察到的时间,并说明每个时间衡量的是哪个检查点。单次成功的演练是该备份和流程的证据;它并不能为另一次故障建立恢复保证。按照小组的保留规则确认测试副本及其捕获消息的清理。将缺失的要素反馈到清单中,并使用 可移植数据导出 为迁移小组内容准备一条单独的路径。
本说明背后的文档
使用你实际运行的版本文档。这些示例是规划材料,不是在一台 Hoszen VPS 上测试的记录。