cryptomator 中文文档 下载 App

云盘同步冲突处理 —— Cryptomator 自动把冲突后缀应用到解密文件名

同步冲突是怎么产生的

云盘同步冲突的典型场景:

  1. 两台设备同时解锁同一个保险库(比如桌面和手机)
  2. 两台设备各自修改了同一个文件(桌面改了 budget.xlsx 的第 3 行,手机改了第 5 行)
  3. 两台设备 Lock 之后,云盘客户端会检测到两边产生了两个不同版本的密文文件
  4. 云盘客户端无法判断哪个是正确版本(因为两边都改了),就创建一个带冲突后缀的副本:
// 云盘密文目录里出现了两个文件:
5TyvCyF255sRtfrIv...83ucADQ==.c9r                         ← 原始版本
5TyvCyF255sRtfrIv...83ucADQ== (Created by Alice).c9r      ← 带冲突后缀的副本

Cryptomator 解锁保险库时检测到这个冲突,自动把冲突后缀应用到解密后的明文文件名上。

解锁视图里长什么样

云盘那个密文文件带了 (Created by Alice) 后缀。Cryptomator 会:

  1. 识别出这个后缀是云盘的冲突标记,不是文件名的一部分
  2. 把主文件名 5TyvCyF255sRtfrIv...83ucADQ== 解密回明文名(比如 budget.xlsx)
  3. 把冲突后缀 (Created by Alice) 应用到明文文件名后面
  4. 处理后的明文名:budget (Created by Alice).xlsx

解锁后的虚拟盘里你会看到:

├─ budget.xlsx                 ← 原始版本(没被另一台设备改过)
├─ budget (Created by Alice).xlsx  ← 冲突副本

两个文件同时存在、同时可见。你能直接对比内容、决定留哪个、或者合并内容。

冲突后缀可能是什么

云盘的冲突标记格式不是 Cryptomator 定的——是各云盘自己的:

云盘典型冲突后缀
Dropbox(John's conflicted copy 2024-01-31)
Google Drive(Created by Alice on 2024-01-31)
OneDrive(计算机名 的冲突副本 2024年1月31日)
Nextcloud取决于 Nextcloud 配置

Cryptomator 不管云盘用什么格式——只要检测到密文文件名里有"多余的冲突后缀",就会保留并应用到解密后的明文文件名里。

特殊情况:文件名长度不够

如果云盘的冲突后缀特别长(比如 OneDrive 中文的冲突标记),加上后缀后的解密文件名可能超出短名阈值。这时候 Cryptomator 会:

特殊情况:冲突后缀冲突

如果你创建的明文文件本身就叫 budget (Created by Alice).xlsx——然后云盘又产生了一个带同样后缀的冲突副本——Cryptomator 会给冲突副本再加一个 (1)、(2) 这样的数字后缀:

├─ budget (Created by Alice).xlsx           ← 你自己起的名字
├─ budget (Created by Alice) (1).xlsx      ← 云盘产生的冲突副本

怎么解决冲突

Cryptomator 不会自动合并冲突文件——这是你作为文件所有者的职责。典型流程:

  1. 解锁保险库
  2. 在虚拟盘里找到冲突的两个文件(带后缀的那个就是冲突副本)
  3. 对比内容:
  1. 删完之后 Lock 保险库
  2. 等云盘同步完删除(确保云盘上也只剩一个文件)

怎么避免冲突

最根本的办法:同一时间只让一台设备解锁保险库。用完 Lock 保险库、等云盘同步完、再换另一台设备。

如果你经常需要多端同时工作,可以考虑:

其他同步异常

场景表现解法
云盘部分上传成功密文文件在云盘上存在但不完整重同步,或用云盘版本历史恢复旧版本
云盘同步被中断中间状态的密文文件留在云盘保险库解锁一次让 Cryptomator 检测并提示
保险库目录被手动修改比如手动在密文目录里加了一个新文件Cryptomator 会检测到未知文件,解锁时可能报错

所有这些异常的第一原则:先解锁保险库 → 让 Cryptomator 完整扫描一遍 → 看它提示什么 → 按提示处理。