开始之前
- 导出相关团体内容和个人信息的权限。
- 源应用程序、导出格式和预期目的地的文档。
- 独立的测试目的地,其中出站通知和外部集成被包含在内。
1。确定该包必须让您能够做什么。
在选择导出按钮之前写下预期结果。为离职成员准备的可读副本、迁移到另一个应用程序以及对现有服务的完整恢复需要不同的材料。一次导出可能很好地服务于第一个目的,但在其他两个目的上失败。
BookStack 明确区分了这一点:其内容导出和导入工具并非用于备份与恢复。可读的 HTML 或 PDF 副本固然有用,但它不应悄然取代应用程序的恢复集。 BookStack 导出和导入内容.
对于一个假设的工作坊小组,初始目标并不高:另一位获授权的维护者能够阅读操作手册,并将一个有代表性的章节(包括其中的图表)导入到独立的测试实例中。
2。记录格式和缺口。
创建一个矩阵,描述你需要保留什么以及你将如何证明它。在检查目标之前,不要把“完整”填入任何单元格。
| 材料 | 候选输出 | 待解决的问题 |
|---|---|---|
| Wiki 页面 | 可读 HTML 加支持的导入包 | 标题、链接和图表是否保留? |
| 附件 | 原始文件和清单 | 每个重要引用都能找到其文件吗? |
| 日历 | 受支持的日历交换文件 | 重复事件和时区的行为是否符合预期? |
| 成员资格和权限 | 受控角色映射说明 | 哪些访问规则需要手动重建? |
| 应用程序恢复 | 特定版本的备份集 | 还需要哪些配置和数据库? |
BookStack 记录了一种可移植的 ZIP 格式,其中包含内容数据、附件和图像,可以重新导入到 BookStack。这并不表示与另一个 wiki 兼容,也不表示保留了每个服务级设置。 BookStack 导出格式.
3。为包提供一个人类可读的起点。
添加一个简短的 readme,包含源应用程序和版本、导出日期和时区、所选范围、导出者的角色、文件列表和预期目标。使用描述性的文件夹名称,例如 readable-content, attachments 和 import-package。将凭据存放在其他地方;只写下获授权的维护者所批准的检索流程。
假设的手册包含一个开场检查清单、一个机器保养页面、一个图表和一个链接的电子表格。其清单记录了这四项、它们的相对路径以及页面与其附件之间的关系。还要将受限页面记录为故意排除,这样以后就不会把缺失误认为意外丢失。
校验和可以帮助识别传输过程中未更改的文件。它并不能证明导出是完整的、权限正确的或可读的。
4。检查有代表性的样本。
在不依赖原应用程序中活动会话的情况下打开可读副本。跟随一个链接,检查一个嵌入图像并打开链接的附件。查找仍然指回源服务的引用。记录哪些链接是故意指向外部的,哪些在迁移后会失效。
对于日历,选择一个包含重复事件、例外事件和具有相关时区的事件的示例。Nextcloud 记录了日历导出和 iCalendar 兼容的 .ics 导入。这建立了一条受支持的交换路径,但不能证明你的目标保留了每一个所选功能。 Nextcloud Calendar 导入和导出.
在按照界面标签操作之前,请检查已安装版本的文档;链接的滚动手册可能描述的是不同版本。
5。导入到独立的受控目的地。
使用空的测试目标或明确批准的测试集合。保持工作服务及其原始数据不变。在启动导入的应用程序之前,禁用传出通知并限制外部连接;目的是评估数据,而不是向成员重新发送历史事件。
让第二位维护者按照 readme 操作,而不依赖导出者的未记录说明。将预期项目与导入结果进行比较。验证图表、电子表格链接、页面结构和预期的成员权限。记录任何需要手动操作的角色映射。如果某种格式缺少所需功能,请决定是重建它、选择另一种导出方法,还是在新服务旁边保留一个可读存档。
6。让失败具有信息量。
如果文件缺失,请在反复生成更大的归档之前比较导出范围和导出者权限。如果链接失效,请确定它们引用的是旧服务还是包中不存在的文件。如果导入产生了意外的重复项,请停止并检查其匹配规则,然后再重新导入同一个包。
对于工作坊示例,验收意味着第二位维护者可以阅读和编辑所选页面、检索每个包含的文件,并证明普通成员无法访问被排除的材料。记录每个结果及其审查者。“导入完成了”只是观察之一。将未解决的差异与包一起列出,以便小组对它们做出有意的决定。
7。将导出和恢复保持在各自的轨道上。
将已验收的包存储在独立于源服务的受控位置,并商定何时刷新它。在重要格式、权限或应用程序版本变更后再次审查。导出文件即使在目标只是临时的情况下也可能包含私人内容,因此也要为它们分配访问权限和保留决定。
将应用程序恢复集分开保存:例如,BookStack 的恢复文档要求数据库和文件材料,而不仅仅是可读的文档导出。 BookStack 备份和恢复要求.
继续使用 恢复演练 用于服务恢复, 存储工作表 用于导出工作空间,以及 服务清单 用于依赖项。可移植性需要用你的包来证明,而不能从文件扩展名推断。
本说明背后的文档
使用你实际运行的版本文档。这些示例是规划材料,并非在 Hoszen VPS 上进行测试的记录。