云同步冲突处理 — 两台设备同时修改 Vault 后的冲突恢复步骤
Enpass 云同步为什么会产生冲突
Enpass 的云同步不是实时双向同步——它完全依赖云存储服务商的"文件版本更新"机制:
设备 A 修改 Vault → Vault 文件更新 → 云盘上传新版本 → 设备 B 看到更新 → 下载
设备 B 修改 Vault → Vault 文件更新 → 云盘上传新版本 → 设备 A 看到更新 → 下载
问题出在两台设备几乎同时修改 Vault:
- 设备 A 和设备 B 各自读取了同一个旧版本
- 各自修改 → 各自生成新版本 Vault 文件
- 各自上传 → 云盘发现有两个"最新版本"→ 产生冲突(Conflict)
各云盘的冲突表现
| 云盘 | 冲突文件名 | 处理方式 |
|---|---|---|
| Google Drive | vault-conflict-copy-时间戳.db | 自动保留两份 |
| Dropbox | vault (A 的冲突副本).db | 保留两份 |
| OneDrive | 弹窗"这些文件有冲突" | 让你选保留哪个 |
| iCloud Drive | 弹窗"某些文件有问题" | 让你选保留哪个 |
| Nextcloud | 显示旧版本图标 | 点进去可以看版本历史 |
Enpass 怎么处理冲突
Enpass 不会自动合并冲突版本。 它只会打开其中一个版本(通常是"最后上传"的那个),把另一个版本保留在云盘里但不在 Enpass 界面显示。
发现冲突的信号
- 某条条目在设备 A 上有、在设备 B 上没有(或反之)
- 云盘里出现了额外的 Vault 文件(带 "conflict" 或 "(1)" 的)
- Enpass 打开某个设备上的 Vault 时提示"Vault 文件可能需要更新"
冲突恢复的安全步骤
第一步:暂停同步(防止情况恶化)
在所有设备上暂时不要打开 Enpass(或者把 Enpass 里的自动同步关掉)。在所有设备都停手之前,不要继续操作。
第二步:下载两个版本到本地
- 打开云盘网站(Google Drive / Dropbox / OneDrive 等)
- 找到 Vault 加密数据库文件
- 应该能看到两个版本:主文件 + 冲突副本
- 分别下载两个到本地(命名区分:比如
vault-working.db和vault-conflict.db) - 立即把这两份备份到安全位置(USB、另一个云盘)
第三步:创建临时 Vault 检查冲突副本
你不能直接"对比"两个加密 Vault——需要用 Enpass 分别打开:
- Enpass → File → 恢复 / Restore from Backup
- 选择冲突副本文件(
vault-conflict.db) - 选择恢复位置为"新建临时 Vault"(不要覆盖正在用的 Vault)
- 输入主密码
- 恢复完成 → 查看恢复出来的临时 Vault 里有哪些条目
第四步:对比两个 Vault 的差异
| 步骤 | 操作 |
|---|---|
| 1 | 数条目数量:主 Vault 有多少条、临时 Vault 有多少条 |
| 2 | 按标题排序后逐页看:有没有"这边有、那边没有"的条目 |
| 3 | 抽查密码字段:同一个标题的条目,密码是否一致(分别打开两个 Vault,密码显示为 •••• 但可以点复制粘贴对比) |
| 4 | 检查修改时间:Enpass 条目列表里可能显示条目最后修改时间 |
第五步:手动合并(如果需要)
如果临时 Vault 里有主 Vault 里没有的重要条目:
- 记录下这些条目的标题
- 切换回主 Vault → 逐个手动添加 / 补全(手动创建新条目、复制内容过去)
- 或者用临时 Vault 作为"参考源"、主 Vault 作为目标,手动把缺失信息补进主 Vault 条目里
第六步:确认无误后清理
- 主 Vault 里所有条目都完整了 → 关闭临时 Vault
- Enpass 里"移除"临时 Vault
- 云盘里手动删除冲突副本文件
- 主 Vault 文件重命名为正确的名字(如果之前被改过名)
- 等云同步完成 → 其他设备上也刷新
第七步:做一份手动备份
冲突解决完后立即做一份手动备份——防止刚才的操作产生新的问题。
预防冲突的日常建议
虽然 Enpass 不处理冲突,但以下习惯可以大幅降低冲突概率:
- 避免同时操作:不要两台设备同时改 Vault(尤其是改同一个条目)
- 操作后等同步:在设备 A 上改完 → 等 Enpass 自动同步(或手动切 Vault 刷新一下)→ 再在设备 B 上操作
- 如果频繁发生:考虑用 Folder Sync + Syncthing(Syncthing 有内建的冲突处理机制),或者干脆只用一台设备编辑 Vault
- 定期做备份:即使发生冲突,有备份就不怕丢失数据
最极端情况:冲突文件损坏
如果云盘上的冲突文件两边都不完整,且无法合并:
- 用 Enpass 的自动备份恢复到损坏前的状态
- 或用云盘的版本历史找到损坏前的文件版本还原
- 还原后重新操作,更小心地避免并发写入
下一个:浏览器扩展连不上 Enpass 怎么办——参见 扩展连接问题。