FreeFileSync 详解:开源文件夹比较与同步工具
备份这件事,最朴素的诉求是"只传差异,不抄全量"。FreeFileSync 把这件事做了十几年:确定源与目标文件夹的差异,只传输所需的最小数据量,而不是每次全量复制。这款开源的文件夹比较与同步软件支持 Windows、macOS、Linux 三平台,由 Zenju 个人主导开发,官网生存完全依赖广告与捐赠。最新版 14.12 于 2026 年 9 月发布,仍在高频迭代。本文从核心概念、同步机制、版本沿革到选型,完整拆解。
1、项目概述
FreeFileSync 定位为开源文件夹比较与同步软件,为重要文件创建并管理备份副本。项目源头是官网 freefilesync.org(Zenju 个人维护),GitHub 上 hkneptune/FreeFileSync 只是第三方源码镜像(约 1.6k Star),明言不接受 PR、issue 请走官方论坛。C++ 编写、不依赖 .NET 等重型运行时,三平台原生运行。官网上挂着几十条用户评价,"取代 SyncToy / GoodSync / Beyond Compare"是高频词,还有人拿它当 rsync 的图形化替代。
基本盘:
- 平台:Windows、macOS、Linux 三平台原生支持,提供便携版
- 版本:最新 14.12(2026-09-09 发布),数据库文件体积再减 16%
- 生存模式:100% 依赖广告与捐赠,v10 起安装程序无广告
- 许可:个人家用免费;商用需 [Business] 版;v12.5 是最后可免费商用的版本(镜像仓库标注)
- 协作:GitHub 镜像不收 PR,问题反馈走官方论坛;有视频教程、手册与 FAQ
2、同步模型:三种变体与两大判定基准
FreeFileSync 的核心是一套清晰的同步语义,v13 的概念革新把"怎么判定该同步什么"分成了两条路线。
三种同步变体:
- Two way(双向):两侧变更互相传播,冲突标出,最完整的同步
- Mirror(镜像):单向复制,目标成为源的完整副本,默认无需数据库文件
- Update(更新):只增不改——官方用手机照片备份举例:手机删照片是为腾空间,不该连备份一起删
两大判定基准:
- 基于差异(differences):看左右两侧当前状态的差别——left only / right only / left newer / right newer,无数据库也能跑
- 基于变更(changes):对照上次同步的数据库文件(sync.ffs_db),判定 create / update / delete——v13 引入,Update 变体因此升级
机制要点:
1. v13 之前 Update 基于差异判定,分不清"源新建"与"目标已删",手机删照场景会误删备份或反复复制——changes 基准根治了这两个老毛病
2. 重命名识别靠数据库:有 sync.ffs_db 时文件改名被识别为移动而非"删旧建新",一次磁盘访问完成,FTP / FAT 等无稳定文件 ID 的场景也能处理
3. Mirror 保留无数据库模式作为默认:官方解释"不需要数据库"是常见需求,两条基准并存而非取代
4. 每类变更(create / update / delete)可单独决定同步方向,精细度到单个动作
3、传输与工程细节
十几年打磨的工程细节,是这个工具口碑的底层来源。
传输能力:
- 协议面:本地磁盘、网络共享、FTP / FTPS / SFTP(9.1 起)、Google Drive(10.8 起,在线直访不装客户端)、MTP 移动设备
- 并行复制(v10 起):每设备可设并行文件操作数,网络与云场景吞吐拉满,比较与二进制比对同样并行
- 锁定文件:卷影复制服务(VSS)拷贝打开中的文件
- 版本控制:删除与覆盖可选"移入版本目录"保留历史,区别于传统增量备份格式
工程细节:
- 长路径:完整支持超过 260 字符的路径(用户实测胜过 Robocopy)
- NTFS 完整性:扩展属性、安全权限、备用数据流全保留;符号链接正确处理
- 防损坏:fail-safe 复制算法,同步中途断电不损坏数据;同步步骤排序优化磁盘占用峰值
- 性能:64 位多核利用、完全 Unicode;数十万文件的目录几秒扫完(官方口径),用户实测 1100 万文件的极限场景也能跑完
- 附加功能:v13 支持多文件批量重命名(文本块编辑式交互);RealTimeSync 监控文件夹变化自动触发同步
4、自动化与获取渠道
手动点按钮之外,批处理与守护进程让同步变成后台例程。
# 官网下载安装(Windows / macOS / Linux 三平台)
# https://freefilesync.org/download.php
# 批处理任务:GUI 里配置好同步规则 → 保存为批处理作业 (.ffs_batch)
# 双击运行,或交给系统任务计划程序定时执行
# RealTimeSync:监控文件夹变化,自动触发对应的批处理作业
# 适合"插上移动硬盘即自动同步"的场景
# 捐赠版附加能力(v10.20 起):同步日志邮件通知
# 集成 Mailgun / Amazon 事务性邮件服务,填邮箱即可,免 SMTP 配置使用要点:
1. 典型工作流:比较 → 预览差异(增删改统计)→ 确认方向 → 同步,全程可视化,方向错误在预览阶段就能拦住
2. 配置即文件:同步规则存为 XML 配置,换盘符改一行即可复用;批处理作业可直接注册到任务计划程序
3. 过滤器强大:包含 / 排除规则支持通配,AppData 等噪音目录一键排除
4. 官方视频教程覆盖镜像、双向、比较、批处理、任务调度、RealTimeSync 等八大场景
5、许可模式与版本沿革
免费软件的商业化边界,这个项目给出了一个少见的样本。
许可三层:
- 个人版:免费使用,面向家庭个人用户
- Business 版(v13 起,2023-09):按设备许可,商用合法化;支持许可延期、设备数增减(2024-03)、经销商转售(2025-09)
- Donation 版:捐赠解锁附加功能,如邮件通知等
版本里程碑:
- 2017:v9.1 加 FTP / FTPS;视频教程上线
- 2018:v10 并行复制、安装程序去广告
- 2020:v10.8 Google Drive 支持,在线直访 + 配额豁免
- 2023:v13 新同步概念(changes 基准)+ 多文件重命名 + Business 版
- 2026:14.x 系列持续打磨,14.12 数据库瘦身 16%、修复三平台若干细节
许可要点:
1. v12.5 是镜像仓库标注的"最后可免费商用版本",之后商用需购 Business 版——选型时这是硬边界
2. 源码开源但开发高度集中:GitHub 仅为镜像,不接受社区 PR,节奏由 Zenju 一人主导
3. 广告 + 捐赠的生存模式运转多年,v10 起安装器已无广告,官网广告被拦截器挡掉时页面会礼貌请求捐赠
6、定位对比:同步方案三选一
把 FreeFileSync 与 rsync、Syncthing 放在一张桌上,三种定位清晰起来。
三者对比:
- FreeFileSync:图形化双向同步,预览确认后执行,三平台 GUI,适合个人桌面备份(个人免费)
- rsync:命令行单向差异传输的事实标准,脚本化与服务器场景之王,无原生 GUI 与双向语义
- Syncthing:设备间持续自动同步,P2P 无中心服务器,适合多设备实时镜像
选型建议:
1. 要可视化预览、精细方向控制、跨 Windows/macOS/Linux 桌面备份 → FreeFileSync
2. 要无人值守服务器同步、脚本化管道 → rsync
3. 要多设备常驻自动同步、不想要"按一下才同步" → Syncthing
4. 组合玩法:桌面用 FreeFileSync 做可视化备份,服务器侧用 rsync 落地,移动设备实时同步交给 Syncthing
7、总结
FreeFileSync 是 Zenju 个人维护十余年的开源文件夹比较与同步软件(官网 freefilesync.org 为源头,GitHub 仓库为非官方镜像):C++ 原生、三平台支持、免重型运行时;核心是差异 / 变更双基准的同步模型——Two way / Mirror / Update 三变体覆盖双向、镜像与只增不改场景,v13 的 changes 基准根治了 Update 变体的误删与重复复制老问题;FTP / SFTP / Google Drive / MTP 协议面齐备,并行复制、VSS 锁定文件拷贝、长路径、NTFS 属性保留、fail-safe 断电防护等工程细节扎实,配 RealTimeSync 与批处理实现自动化。最新版 14.12 仍在持续迭代。
适用与边界:它适合需要可视化确认、精细方向控制的个人桌面备份场景——几十条用户评价反复验证了它在 SyncToy / GoodSync / Beyond Compare 用户中的替代效应;商用需注意 v12.5 之后的版本要购 Business 许可,这是免费与商用的硬分界;开发高度集中于单人、GitHub 不收 PR,社区协作有限,长期依赖作者的持续投入。无守护进程常驻的"按需同步"设计既是特色也是边界——要实时多设备互同步,Syncthing 更对口。
