同步不等于备份:误删的文件也会跟着同步消失
一个必须先建立的观念
官方 FAQ 里有一问:「Syncthing 是我理想的备份应用吗?」答案是明确的否定。同步工具的任务是让多台设备的文件状态保持一致——注意「一致」这个词是双向起作用的:
- 你在一台设备上新增文件 → 各设备都会出现;
- 你在一台设备上修改文件 → 各设备都会更新;
- 你在一台设备上删除文件 → 各设备也都会删除。
最后一行就是问题所在。误删、误改、勒索软件加密文件——这些「坏状态」同样是状态,同样会被忠实地同步到所有设备上。
备份的核心特征:有历史、有间隔
真正的备份系统有两个同步工具不具备的东西:
- 历史版本:备份保存过去某几个时间点的完整状态,可以回到「出事之前」;
- 隔离性:备份介质不实时接收变更,坏状态不会立刻污染备份。
Syncthing 提供的三层补救
虽然本体不是备份工具,但它提供了几样可以缓解伤害的机制:
- 文件版本控制(versioning):给文件夹开启后,被远端改动或删除的旧版本不会直接消失,而是归档进
.stversions目录。这是最接近「后悔药」的功能,见[文件版本控制总览(../06-版本与冲突/01-versioning-overview.md)。 - 仅接收文件夹:把备份落点设备设为仅接收,本地改动不会外传,还能一键还原本地修改,见[仅接收:备份落点(../04-共享文件夹/05-receive-only.md)。
- 冲突副本:两台设备同时改动同一文件时会生成冲突副本而不是静默覆盖,见[冲突副本(../06-版本与冲突/04-conflicts.md)。
官方建议的组合
版本控制只能防「远端改动覆盖本地」这一类事故,且只在你开启它时生效。官方 FAQ 的建议是把同步与真正的备份搭配使用:同步负责多设备一致,备份负责历史快照。常见做法是额外用专业备份工具对同步目录做定时快照,两者各司其职。