
关于资金(截至2026年9月):CypherpunkGuide 不投放监控型广告,不使用广告网络、跟踪像素或赞助内容。部分文章含有明确标注的联盟推广链接,我们可能通过这些链接获得佣金。本文没有联盟推广链接,也不推荐任何存储服务商。
照片、往来信件和个人记录,往往需要保存得比制作它们的电脑更久。备份加密可以保护这些文件的隐私。但多年后要把它们取出来,还得能访问备份、有可用的解锁方式、选对保存版本,并且有软件能读取恢复后的文件。
我用开源加密备份程序 restic 设计了一次恢复实验,包含12个人工文件和6种测试情况。其中一项测试里,备份仓库检查、全量数据检查和恢复命令全部成功,却只找回了原本计划保存的12个文件中的11个。另一项测试找回了全部12个文件,格式检查也全部通过,但其中一个文件是旧版本。
因此,值得确认的是一个具体问题:你能否找回原本想保留的记录,拿到所需的版本,并正常使用?个人备份规划、可复现实验和安全的恢复演练,都可以围绕这个问题展开。实验只使用生成的测试文件,没有任何人的个人档案,也不测量硬盘寿命、异地备份的抗故障能力或整台电脑的恢复效果。
分清同步、备份与长期保存#
同步让工作副本保持一致;备份保留可供恢复的副本;长期保存还要让记录在设备和软件更替后,依然能被理解和读取。同一项服务可能兼具这些功能,但每项功能都需要单独核实。
同步服务把一次删除传到其他设备,可能正是在按设计工作。能不能找回文件,取决于版本保留、删除处理规则和账号访问权限。反过来,一块断开连接的硬盘可能保存着重要副本,却没有断开之后的新文件。先明确自己需要哪种功能,再选择存储方式。
| 功能 | 用途 | 仍需确认的事项 |
|---|---|---|
| 同步 | 让多台设备都能使用当前文件 | 删除或覆盖前的版本是否还能恢复,保留多久 |
| 备份 | 应对文件丢失或非预期改动 | 包含哪些文件和版本,副本能否承受预想的故障,恢复是否可行 |
| 长期保存 | 让选定的记录多年后仍可使用 | 文件说明、格式、读取工具、存储介质更换,以及持续可用的恢复方式 |
美国网络安全和基础设施安全局(CISA)提出的 3-2-1 备份方法,是总共保留3份副本,使用2种不同的存储介质,其中1份放在异地。该机构的勒索软件防护指南还建议保留离线、加密的备份,并定期检查完整性和实际恢复效果。**异地指存放位置,离线指连接状态。**远处的副本如果仍能由同一个遭入侵的账号删除,仅仅换一栋楼存放,并不能让它免受同一次账号失陷的影响。参见 CISA 备份指南和勒索软件防护指南。
给个人档案做规划时,可以逐项列出具体情况:笔记本被盗、误删文件、住宅失火、账号锁定,或解锁信息遗失。每发生一种情况,哪份副本还能使用?这和建立个人隐私防护体系时要问的是同一个问题:每项措施究竟在应对哪种故障?
故障发生后,恢复信息仍要拿得到#
加密能阻止没有有效解锁方式的人读取备份,但不会替你保管解锁信息,也不能保证账号和所有副本一直可访问。恢复计划需要分别处理这些依赖。
记录备份存放位置、使用的程序和格式;如果涉及账号,也记录账号找回方式,以及获授权的人怎样取得必要的解锁信息。凭据本身应妥善保管,不要把它们放到公开表格里,也不要发给聊天机器人。写下“恢复说明保存在密封文件袋中”,与直接公开密码,作用完全不同。
restic 会加密备份仓库中的数据,访问仓库需要使用受密码保护的密钥。一个仓库可以有多把这样的密钥。因此,忘记一个密码,不一定意味着数据永久丢失:如果另一把有效密钥及其密码仍可用,就可能还有解锁途径。所有可用途径都丢失,是另一种情况。创建仓库的官方文档解释了这一机制。
还要检查是否存在循环依赖:备份密码唯一的副本就在加密备份里面,或者密码管理器的恢复材料,只存在于那台需要更换的笔记本里。通行密钥恢复和密码管理器迁移两篇指南,从账号访问的角度讨论了同类问题。
自托管改变了系统的运营者,也把恢复责任交给了你。如果自托管服务和它唯一的备份都在同一台机器上,失去这台机器就可能同时失去两者。
每一种检查,能证明什么#
备份检查只能回答其设计范围内的问题。仓库结构是否一致、存储数据是否通过检查、文件是否齐全、字节是否相符、格式能否读取,是不同的检查。通过其中一项,不等于其余各项也通过。
我在2026年9月3日核对的 restic 文档明确区分了普通 check 与 check --read-data。普通检查核对仓库结构及其内部一致性,不会读取并校验所有已存储数据包的内容。这里的“数据包”(pack)是存放备份数据的文件。加上 --read-data 后,程序会读取每个数据包,可能花费较多时间和网络流量。具体说明见仓库操作文档。
| 检查项目 | 能提供的证据 | 通过后仍不能证明的事 |
|---|---|---|
| 普通仓库检查 | 已检查的仓库结构内部一致 | 所有存储的数据字节都已读取并校验 |
| 全量存储数据检查 | 存储的数据包通过了该工具的数据检查 | 备份包含了所有想保存的文件,或选中了所需版本 |
| 预期文件清单核对 | 恢复出的文件路径与独立整理的清单相符 | 文件字节相符,或应用程序能使用这些文件 |
| 哈希比对 | 恢复出的字节与选定的参考值相符 | 参考文件原本正确、版本符合要求,或格式可读 |
| 格式或应用检查 | 指定的读取工具能解释已测试的内容 | 所有功能都正常、其他文件都正常,或未来软件仍支持它 |
**文件清单(manifest)**列出预期应有的文件,也可以记录大小和哈希。SHA-256 等加密哈希算法,会根据文件的字节计算出一个值,供之后比对,帮助发现改动。应从实际想保留的文件建立独立参考,并保护好这份记录。如果只根据备份本身生成清单,就无法发现从未进入备份的文件。文件名也可能包含敏感信息,清单同样需要纳入隐私保护。
美国国会图书馆在数字馆藏术语表中,将保留原有数据字节与维持未来的访问能力区分开来。本次核查时,在线页面阻止了内容获取,因此我使用的是2025年9月的网页存档。这一区分也是实验设计的依据:字节一致很有价值,但格式本就有误的文件,也可以一字不差地复制下来。
用人工文件测试6种恢复情况#
实验将命令执行成功与使用者的恢复目标分开判断。在 Windows 上使用 restic 0.19.1 时,即使缺少一个应保留的文件,或恢复出旧版本,仓库检查、全量数据读取和恢复操作仍可全部成功。独立的参考记录揭示了这些差异。
我先建立完整测试文件集,再设置排除规则。文件集包含12个文件,使用7种格式:UTF-8 文本、JSON、CSV、XML、ZIP、WAV 和 TOML。内容包括人工笔记、结构化记录、ZIP 文件和生成的声音。格式是否可读,由 Python 标准库中的读取程序检查;实验没有测试照片查看器、办公软件或音频播放器的界面。
每个案例都选定一个快照 ID,即某次已保存备份版本的标识,并使用新建的空文件夹作为恢复位置。普通检查、全量数据检查、恢复、文件路径核对、哈希比对和格式解析,各自单独记录。命令的退出代码为0,表示该命令成功;非零表示该命令遇到了错误。这些代码不是个人档案质量的评分。
这6种情况可以用来练习如何核对恢复目标。逐项比较命令的执行结果与实际需求:需要的文件是否齐全、版本是否正确、格式是否可读。S4故意排除了一个文件,S5故意选择了旧快照;restic在这两种情况下都正确执行了指定操作。
实测结果#
| 情况 | 普通检查 / 全量数据检查 / 恢复 | 恢复出的预期文件路径 | 与该案例所需版本相符的哈希 | 格式检查通过数 / 实际测试文件数 |
|---|---|---|---|---|
| S1:有效文件,未作改动 | 0 / 0 / 0 | 12/12 | 12/12 | 12/12 |
| S2:使用错误的公开测试密码 | 12 / 12 / 12 | 0/12 | 0/12 | 未执行,没有恢复出文件 |
| S3:修改一次性仓库副本中实际数据的一个字节 | 0 / 1 / 1 | 11/12 | 11/12 | 11/11 |
| S4:备份时排除一个原本应保留的文件 | 0 / 0 / 0 | 11/12 | 11/12 | 11/11 |
| S5:选择旧快照 | 0 / 0 / 0 | 12/12 | 11/12 | 12/12 |
| S6:备份前已存在格式错误的 JSON | 0 / 0 / 0 | 12/12 | 12/12 | 11/12 |
文件路径和哈希两列,都以原本应保留的12个文件为分母。格式检查只计算实际恢复并接受测试的文件;缺失文件没有可供解析的字节。S5 的哈希与独立记录的所需当前版本比对,而不是与旧快照自身的清单比对。S6 的参考记录则保留了原本就有格式错误的输入,以便区分“字节保存完好”和“格式可以读取”。
S4至S6中的3条restic命令都执行成功:故意排除的文件没有恢复,指定的旧版本按原样恢复,备份前已不合法的JSON也被完整复制。图内使用英文;各项数量及分母见上表。
这些差异说明了什么#
**S2 只测试一个错误密码能否访问仓库。**它证明程序拒绝了这次错误密码,不能证明其他有效密钥也无法恢复数据。公开的实验密码只是明显的人工测试材料,绝不能用于真实备份。
**S3 修改了实际存储的数据,同时保留外围仓库结构。**普通检查成功,全量数据读取与恢复却发现了问题。这个观察只适用于实验注入的那种损坏;它既不表示普通检查会漏掉所有损坏,也不表示真实仓库损坏后总是只丢一个文件。我保留各条命令的独立结果,就是为了让这种差异可见。如果统统归为“备份失败”,反而会丢掉有用的信息。
**S4 是备份范围选错了。**程序成功保存了设置中选定的文件,但我们的预期清单还包含 documents/contacts.csv,而实验故意将其排除。排除规则本身有效,程序无法替你判断它是否违背了你的本意。建立备份时也要检查选择与排除规则,具体可参阅 restic 备份文档。
**S5 是版本选错了。**较旧的 documents/status.json 仍是有效 JSON,也能正确恢复,但它的哈希与所需当前版本不同。文件数量正确、格式能读,都不能证明版本符合要求。误删文件后,旧快照可能恰好是你想要的;只有它不符合这次恢复目标时,才构成问题。
**S6 完整保存了原本就有格式错误的内容。**实验在备份前就故意生成无效的 documents/records.json。三项 restic 操作全部成功,12个恢复文件的哈希也都与源文件参考值相符,但 JSON 读取程序在备份前和恢复后,都拒绝读取这个文件。这是源文件质量问题,并非恢复过程造成了损坏。其余11个文件全部通过格式检查。
如何复现实验#
可下载的实验脚本只接受指定的官方 restic 0.19.1 Windows amd64 ZIP 发布包。它会校验压缩包及可执行文件的哈希,自行建立人工文件和一次性备份仓库,并拒绝已有的源文件位置或恢复位置。脚本会故意损坏实验内部创建的一个副本,但不接受你的真实备份仓库。
运行前,先阅读方法与局限说明、结果表、详细结果、人工文件清单和已脱敏的命令日志。这些附件只记录生成的测试文件。命令日志已替换与主机有关的标识和路径,并非未经处理的终端原始记录。
阅读脚本后,在一个新建、空白且可丢弃的工作文件夹内,使用 Python 3.11 或更高版本运行。从 restic 0.19.1 官方发布页下载对应 ZIP,并与发布页的校验值比对,再执行:
python restore-lab.py --restic-zip restic_0.19.1_windows_amd64.zip要把重新运行的结果与已发布记录作比较,将比较脚本和已发布结果保存到同一个工作文件夹。保留下载的results.json原样,作为比较基准。按上面的步骤运行restore-lab.py后,用程序显示的实验文件夹名称替换下方的c07-restore-lab-REPLACE-ME。在工作文件夹中执行:
python .\compare-results.py --results .\c07-restore-lab-REPLACE-ME\results.json--results指定的是本次重新运行所生成的记录。脚本只比较这6种Windows/restic 0.19.1测试情况所记录的结果,不会重新计算文件哈希,也不判断真实备份是否安全。记录一致本身也不能证明第三方已重新完成实验。详细说明见方法与局限。
脚本会保留测试目录,供你检查。本次记录的运行使用 Python 3.12.10。这只是用一组小型文件和明确故障演示检查机制,不是故障率估计,也不是备份产品比较。文件权限、整个操作系统、网络中断、独立存放地点、硬件老化及应用程序的完整行为,都不在测试范围内。
安全地演练自己的备份恢复#
先把文件恢复到新建的空文件夹,核查完成前不要改动原件。按恢复目标选择版本,用独立记录核对所需文件和内容,再通过实际应用打开有代表性的文件。小样本只能提供有限证据,不能替整套档案判定通过。
restic 的恢复文档明确提醒:恢复操作默认会覆盖目标位置已有的文件。其他程序也各有规则。开始前应阅读所安装版本的说明,并确认恢复位置。不要把试恢复指向日常使用的文档文件夹。
- **明确恢复目标。**例如,“找回截至上次成功备份时的信件和照片”,或“找回昨天误删之前的版本”。记下应包含的文件夹与日期。如果源文件还在,应独立于备份选择规则整理预期清单,并将它关联到所需版本。备份后更新的工作文件与原快照存在差异,并不意味着恢复过程损坏了数据。
- **确认访问方式和可用空间。**找到备份及有效解锁途径。选择可信的电脑,以及空间充足、独立且空白的恢复位置。恢复出的文件可能是可直接读取的明文,应保护好这个位置,避免意外同步或共享。
- **选定一个具体版本。**记录其标识和相关日期。“最新”只是一个排序规则,不能证明快照已包含你预期的修改。
- **按文档执行检查和恢复。**分清快速的结构检查与完整的数据读取。查看警告和错误,也包括当初备份任务留下的记录。快照存在,不代表每个源文件都已成功读取。
- **用恢复目标核对结果。**检查预期路径、有代表性的内容和版本;有可信哈希时,也逐一比对。打开文档、查看照片、播放录音,并测试让这些记录有用的应用功能。记下检查了什么,以及哪些内容尚未检查。
- **核查完成前,保留可用副本。**一次成功演练,不足以成为删除仅存的另一份可用副本的理由。验证后,可按自己的保留规则妥善保护或移除试恢复文件;调查差异时,避免执行破坏性的清理。
如果时间或空间不够,可以先恢复一部分文件,但要记录范围,之后逐步扩大覆盖。如果源文件已经消失,又没有独立清单,就应明确承认:是否齐全仍然未知。仅凭幸存备份里的文件数量,无法解决这个问题。
长期保存还要维护读取能力#
长期保存需要定期检查存储介质、连接设备、读取工具、文件格式和解锁途径。一种存储材料的寿命声明,不能保证整套档案在同样长的时间里始终可以恢复。
美国国会图书馆的个人数字记录指南建议,至少每年检查一次已保存的文件,并每5年或在需要时复制到新介质。该馆的存储介质耐久性说明也解释了寿命估计为何不确定。这是维护建议,不是保证硬盘能撑到下一个检查日期。迁移之后、更换解锁方式之后,或怀疑发生故障时,也应重新检查。
| 依赖条件 | 需要保留或检查的内容 | 应记录的证据 |
|---|---|---|
| 存储与连接 | 可用介质,以及兼容的读写设备、线缆和接口 | 完整读取副本的日期、发现的错误、迁移结果 |
| 文件含义与格式 | 原件、说明,以及适当的导出副本或便于读取的副本 | 用哪个程序打开了哪些文件,转换时丢失了什么功能 |
| 解锁与账号访问 | 受保护的恢复信息,以及获授权者取得这些信息的方式 | 成功完成恢复演练的记录,但不把秘密写入日志 |
| 备份范围与版本 | 预期文件清单,以及适合这些记录的保留规则 | 缺失路径、所需版本、最近一次验证覆盖的范围 |
不要用“机械硬盘能放 X 年”或“固态硬盘能放 Y 年”这样的统一年限来选介质。同样,Verbatim 对 M-DISC 寿命的宣传针对的是一种光学存储产品,并不保证未来仍能找到兼容的读取设备、保存完好的解锁信息或可读的文件格式。美国国家档案馆也说明了光盘等视频介质的寿命为何难以预测,以及保管条件如何影响其耐久性。这些局限并不能推出“所有光盘都会失效”。
如果某种格式或应用越来越难使用,可以在保留原件的同时,制作有记录的、便于读取的副本。复杂文档在转换后可能丢失排版或功能;转换改变了字节,哈希也会随之改变。应按这份记录真正重要的内容验证转换结果,清楚标注,并为转换后的副本建立新的参考记录。不要为了让文件夹看起来整齐,就覆盖原件。
我比较这些案例时,把预期清单、所需版本和读取检查,与每项命令结果并列记录。对自己的备份也这样做,才能知道该修正什么:缺文件,需要检查备份范围;版本旧,需要重新确认版本;源文件无法读取,需要处理保存格式与内容。仅仅再买一块硬盘,并不能回答这些问题。
常见问题#
云同步算备份吗?#
如果服务保留了合适时长的历史版本和已删除文件,就可能提供部分恢复功能。你仍需核实这些规则,以及账号找回要求。仅有同步功能,不能证明非预期改动、删除或账号丢失后仍可恢复数据。
restic 检查成功,是否代表每个文件都安全?#
不能这样判断。普通检查不会读取每个存储数据包的全部内容。即使全量数据检查通过,也不能证明想保留的文件都已纳入备份、选中了所需版本,或应用程序能读取恢复出的文件。
忘记密码后,还能恢复加密备份吗?#
取决于所用工具,以及剩下哪些解锁途径。restic 可以使用多把受密码保护的密钥,另一把有效密钥及其密码可能仍可用。不要假定存储服务商能够解密备份,也不要把一次密码失败当成所有恢复途径都已丢失的证明。
个人档案应该多久测试一次?#
美国国会图书馆建议,至少每年检查一次已保存的文件。具体频率还应考虑重要记录多久更新一次,并在存储设备、软件或恢复访问方式发生重要变化后测试。记录本次检查的是样本还是全部文件;到了某个日历日期,或抽样成功,都不能保证之后一直可以恢复。
哪种存储介质能把文件保存几十年?#
没有一种介质能免除独立副本、检查和迁移的需要。除了介质本身,还要考虑保存条件,以及能否获得兼容的读取设备。长期可用性也依赖文件格式、软件和解锁信息。制作便于新软件读取的副本时,应保留经过验证的原件。
资料来源与复现记录#
一手资料核查日期为2026年9月3日。实验结果仅适用于文中注明的运行环境和人工输入。网页存档保留了来源的历史版本,其时间可能早于本文主张所依据的在线版本。
| # | 一手资料 | 原始页面 | 网页存档 |
|---|---|---|---|
| 1 | CISA:数据备份方案 | 2026-08-05 | |
| 2 | CISA:勒索软件防护指南 | 指南 | 2026-08-30 |
| 3 | restic:创建备份仓库 | 文档 | 2026-08-19 |
| 4 | restic:操作备份仓库 | 文档 | 2026-08-22 |
| 5 | restic:从备份恢复 | 文档 | 2026-08-22 |
| 6 | 美国国会图书馆:数字馆藏管理术语表 | 术语表;获取受阻 | 2025-09-16 |
| 7 | 美国国会图书馆:个人数字记录 | 指南 | 2026-08-28 |
| 8 | 美国国会图书馆:数字存储介质能使用多久 | 2025-11-07 | |
| 9 | Verbatim:M-DISC 光学介质 | 制造商说明 | 2026-05-02 |
| 10 | 美国国家档案馆:视频介质状况评估 | 保存指南 | 2026-05-15 |
| 11 | restic:创建备份 | 文档 | 2026-08-22 |
| 12 | restic 0.19.1:版本发布 | 官方发布页 | 2026-08-18;版本说明,并非程序文件镜像 |


