备份与旧版本恢复 —— 怎么正确备份保险库密文目录
为什么直接备份密文目录就够了
保险库密文目录(就是你在创建向导第 2 步选的那个文件夹)是一个完全自包含的整体:
vault.cryptomator—— Vault Format 8 配置masterkey.cryptomator—— 加密的主密钥d/—— 所有加密文件和目录结构
这三样东西合在一起构成了一个完整的加密空间。你不需要额外备份什么——把整个文件夹原封不动复制到任何地方就是备份。
而且因为里面全是密文,备份过程中的额外拷贝不会暴露明文——哪怕备份介质丢了,拿到它的人也解不开。
备份方式
方式 1:云盘本身就是备份
这是最省心的方式。你把保险库目录放在云盘同步文件夹里 → 云盘会自动把整个目录多副本存到云服务端 → 云盘自带的版本历史功能会保留被修改过的文件的旧版本。
这种方式下,"备份"就是确保云盘同步正常。要恢复某个文件的旧版本,用 Locate Encrypted File 定位密文文件 → 去云盘版本历史里恢复(详见上两页)。
方式 2:本地外置硬盘定期全量备份
注意:备份前确保保险库已锁定(Locked 状态),
没有任何程序正在写入加密文件。
最稳妥的办法是用 rsync 或类似工具对密文目录做增量同步——只复制有变化的密文文件,节省时间和空间。或者简单粗暴:
- 锁定保险库
- 直接整个密文目录 → 复制到外置硬盘
- 完成后弹出硬盘
建议用带校验的复制(比如 Windows 的 robocopy /E /COPYALL、macOS 的 rsync -avE)确保复制过程没有损坏。
方式 3:另一个云盘
比如主存 Dropbox,备份到 OneDrive。做法:
- 锁定保险库
- 把密文目录从 Dropbox 复制到 OneDrive(OneDrive 会自动同步)
- 等 OneDrive 同步完成
相当于给自己多一个"云端副本"。缺点是要等两个云盘同步完,过程比本地外置硬盘慢。
恢复备份
从备份恢复保险库:
- 把备份的密文目录复制回你想放的位置(通常是另一个云盘同步目录或本地目录)
- 打开 Cryptomator → 加号 + → Open Existing Vault
- 找到恢复后的目录里的
masterkey.cryptomator→ 选中 - 输入密码 → 解锁 → 应该能看到所有恢复的明文文件
前提:你还记得密码,或者有 Recovery Key(如果 masterkey.cryptomator 在备份里是好的,用密码就能解锁;如果 masterkey 或 vault.cryptomator 在备份里损坏了,需要 Recovery Key 恢复——见恢复分组)。
哪些备份策略会翻车
不要做:只备份部分密文文件
Cryptomator 的加密文件之间有隐含的关联——父目录/子目录的映射靠 dirId.c9r 和 dir.c9r 维持。如果你只备份了其中几个 .c9r 文件、没备份它们的父目录 dir.c9r,解锁时会出现"文件找不到"或目录结构混乱。
正确的备份单元是整个密文目录,不是单个或部分
.c9r文件。
不要做:备份前不锁定保险库
如果保险库还在解锁状态,可能有文件正在被加密写入。备份过程如果正好截到一半写入状态,备份里的那个 .c9r 文件就是损坏的。
备份前必须 Lock 保险库。
不要做:用不保留目录权限的备份工具
某些简陋的备份工具(比如某些老旧的 ZIP 压缩程序)可能不保留长文件名或特殊字符。密文文件名虽然主要是 ASCII 字符 + .c9r 后缀,但短名机制触发后的文件名可能比较长。
用靠谱的、支持长路径长文件名的备份方式。
版本历史恢复注意事项
从云盘版本历史恢复密文文件时:
- 先 Locate 确认密文文件对应哪个明文文件(别恢复错了)
- 只恢复你想恢复的那个密文文件,不要恢复整个目录的旧版本(可能把新文件覆盖成旧的)
- 恢复后等云盘同步完成
- 解锁保险库 → 确认明文文件确实变成了旧版本