Total Pageviews

Sunday, 29 August 2021

跨平台、免费的文件同步工具:FreeFileSync

 在工作中,我常常出于对数据安全的考虑会经常性地对文件进行备份,以防哪天电脑出现故障或是需要查找某个年代久远的资料的情况发生。

通常来说,大多数人都会使用类似于 iCloud、One Drive、百度网盘等类似的云盘来存放这些备份资料。但如果你仅仅只是在本地不同设备间留存副本,或是将本地的文件同步到内网的服务器上,那么你可能需要的仅仅只是知道哪些文件有差异,并进一步同步文件的这一过程,而无需担心存储等问题。

FreeFileSync(下文简称:FFS)就是一款能很好地满足我们比对文件变动并进行同步的软件,它使用 C++ 语言编写、免费、开源且支持桌面端全平台(即 Windows、macOS 以及 Linux),可用于对重要文件的备份以及备份副本管理。

安装与上手

进入 FFS 的官网后,点击左侧的 Download 部分进入下载页面,然后根据自己操作系统选择对应版本即可开始下载。

FFS 本身免费且无任何功能限制,但是会通过主页广告(使用时无广告)和捐赠来为开发人员带来一定的营收。如果你能使用 PayPal 这样的境外支付方式进行捐赠(捐赠金额由你决定),则可以下载带有额外功能的捐赠版本,该版本主要支持的额外特性包括并行文件访问、自动更新、开箱即用免安装等。

下载完成后,我们只需要按照安装包的引导步骤默认安装即可,安装完成后即可进入到 FFS 的界面。

多亏了其他开发者的贡献,FFS 界面有着较为完整的中文汉化支持,使用过程中无需担心语言带来的理解和操作问题。

配合简洁的界面设计和几乎没有复杂选项的功能菜单,我们稍微探索一下就能快速上手。

图源 FreeFileSync 官网

上述部分对应着 FFS 的展示、设置以及可操作项:

  1. 比较设置
  2. 执行差异比较
  3. 包含或排除特定文件
  4. 同步设置
  5. 执行同步操作
  6. 添加源目录路径
  7. 添加待同步目录路径
  8. 当前操作界面配置
  9. 文件树情况概览
  10. 同步预览
  11. 网格显示类型
  12. 同步统计信息

但对于每个最开始使用 FFS 的人来说,撇去 FFS 的设置以及其他功能不谈,最为简单的用法就是:

  1. 在中间的左侧部分拖入源目录
  2. 在中间的右侧部分拖入存放备份的目录
  3. 点击「比较」按钮
  4. 点击「同步」按钮旁边的倒三角形并选择同步的方式
  5. 点击「同步」按钮开始同步

FFS 支持多项同步操作,因此如果你需要同步的不仅仅只是一个目录,那么也可以点击绿色的加号图标进行添加。

比较、同步方式的选择

默认情况下,FFS 比较文件差异的方式是基于文件修改时间和大小,以此确定新旧目标以及同步方向。

除此之外,FFS 还提供了另外一种根据文件内容比较的选项,它能通过对文件的字节进行逐比特检查(bit-by-bit)判断文件是否发生了修改1。如果你对于文件差异有更为精准的需求,不妨将比较方式设置为根据文件内容进行比较。

类似的,FFS 也提供了四种同步的方式,不过这些方式间有一定的区别:

  1. 双向同步(默认):识别左右两个目录中文件的异同,同步后双方文件及结构保持相同
  2. 镜像同步:无论右侧的目标目录如何改变,最后同步都会依据左侧的源目录为准,即「全量备份」
  3. 更新同步:即只同步新的文件或是已经变动的文件,相较于全量备份而言属于「增量备份」
  4. 自定义同步:根据用户自定义同步行为进行文件同步

通常情况下如果我们仅仅只是备份,那么我更推荐更新同步。因为它避免了镜像同步全量覆盖的弊端,这样如果有一天我们想要找回以往的备份文件时就会深刻体会到增量备份的好处。但其缺点在于需要占用额外的存储空间,如果你备份的文件容量过大,那么在同步之前先斟酌是否需要做到留存以减少磁盘的压力。

如果仅仅只是简单粗暴的直接覆盖,那么选择镜像同步即可;如果同步的文件存在因多人操作或协作而造成的经常性变动,那么默认的双向同步是能确保操作文件的双方都能很好维持原貌的方式。

支持云端存储配置

FFS 除了适用于本地的文件同步之外,还支持 Google Driver、SFTP 和 FTP 三种远程方式进行文件的同步与备份。这里不仅可以将本地文件到同步到远程服务器,还可以从一个远程目录同步到另外一个远程目录。

我们只需要在选择同步目录的浏览按钮旁边的云状图标,就能进入到访问在线存储这一配置远程方式的同步的界面。由于我备份的是工作相关的文件,所以通常我会将公司给我配备的 Linux 服务器账号下的某个文件夹作为目标目录,然后进行同步。

无论是 SFTP 还是 FTP,FFS 都提供了三种认证方式,使用密钥来连接服务器也是目前安全性较高且较为方便的一种方式。在这里我主要选择了 SFTP 形式并指定本机对应的安全验证密钥,通过「服务器上的目录-浏览」选项来选择需要备份到的指定服务器目录。

之后所有的操作都和本地操作没有区别。

FFS 的特定文件扩展名

FFS 有两个专门的文件扩展名,一个是 .ffs_gui,一个是 .ffs_batch

.ffs_gui 主要用于记录我们在 FFS 当前界面操作的一些数据,比如同步的目录、比较或同步的方式、过滤项是哪些等等。所以如果我们经常对某个目录进行文件的备份或同步,那就无需每次打开新窗口然后手动指定同步的源目录与目标目录,将此次的操作保存成一个 .ffs_gui 文件,在下次同步时通过 FFS 将其打开即可一步到位。

而 .ffs_batch 则适用命令行操作,即我们可以在 .ffs_gui 文件的基础上将其保存为该格式,然后将其视为一个代码脚本,这个脚本可以通过 FFS 本身来执行,也能够搭配相应的定时任务调度器来做到自动化同步。

在保存的过程中为了避免产生弹窗影响,我们可以勾选「以最小化运行」和「自动关闭」两项,以便让同步达到触发条件时也不会干扰我们当前的活动。

命令行运行与定时任务

既然涉及到对文件的同步或备份,我们肯定是不想每次还需要自己亲自动手去点击操作。好在 FFS 本身的可执行程序就是一个命令行工具,能够结合代码脚本实现完全的自动化,而无需让使用者全程参与。

当然减少自动化复杂度的前提是我们将所有操作记录都保存为 .ffs_batch 文件,然后直接通过定时任务调度器在指定时间里执行 FreeFileSync.exe <your-ffs-backup>.ffs_batch 即可。

FFS 官方也贴心地提供了不同操作系统如何结合 FFS 来实现定时同步或备份的操作。

Windows

在 Windows 上操作你只需要使用自带的「任务计划程序」来安排同步任务即可。

首先,通过 Win 键弹出菜单栏,然后找到「Windows 管理工具-任务计划程序」并点击。

进入到任务计划程序界面后,点击右上方部分的「创建基本任务」选项,你可以在里面填写任务名、并设定触发时间之后进行下一步;到「操作」步骤时,则选择默认的「启动程序」,并分别将 FFS 的可执行程序以及 .ffs_batch 文件的绝对路径填上(这里注意需要将路径都放入英文引号内):

最后默认下一步完成即可。

macOS

在 macOS 上你可以使用自带的 Automator(自动操作)来实现。

首先,需要将我们在 FFS 上设定好的一系列操作保存为 .ffs_batch 文件。

然后我们打开 Automator,并新建一个「日历提醒」类型的自动化脚本,之后选择资源库中适用于 Finder 的「文件和文件夹」,接着先将保存好的 .ffs_batch 文件拖入框中,最后再从左侧找到「打开访达项目」这一项拖入流程框。

首次保存会立即执行,但我们可以在日历上找到该任务,并根据自己的需要选择相应的同步时间:

当然如果你自己有一些编程基础,那么你也可以不按照官方的推荐方式来安排同步任务,可以选择像 cron 这样的命令行工具来实现,这留给感兴趣的读者自行去探索。

from http://web.archive.org/web/20210830054551/https://sspai.com/post/68473

官网:https://freefilesync.org/

------------------------------------

免费的文件同步工具-FreeFileSync

FreeFileSync是一款免费开源的文件同步工具,支持多种(双向/单项)同步方式,历史版本,定时自动监控等.使用简单,只需将要同步的文件夹放到 FreeFileSync左右两侧窗口,设置同步类型,点击同步即可。

下载:http://sourceforge.net/projects/freefilesync/

---------------------------------------------------------------

相关帖子:https://briteming.blogspot.com/2013/06/goodsync.html

-----------------------------------------------------------------

数据无价!7 款文件同步备份软件推荐   

说到数据备份有些人会选择各种网盘服务,主要也比较方便,但是也存在一定的风险,例如数据泄漏、网盘服务关停、甚至你的某些文件会被网盘判定违规不让你下载回来本地了。在之前锋哥不少资料放在金山网盘,后来宣布关停,文件还没来得及下载回来,最后丢失了不少。

所以现在比较谨慎的用户都会考虑本地备份、NAS、私有云等,所以今天就给大家分享几款文件自动同步备份的软件。

GoodSync
这款「GoodSync」是锋哥目前在用的数据同步备份软件,主要用它来自动备份电脑上一些重要的文件到移动硬盘 / 网络共享盘。支持 "单项备份" 和 "双向同步" 以及多种规则模式。
软件支持多种同步方式,设置不同的触发同步方案,如检测文件夹、定期时间、系统注销时等等,以及高级设置功能,如同步复制后的操作、遇到同名文件的处理操作、同步加密、旧数据保留设定、NTFS压缩等,比较文件大小与修改时间、自己根据情况设置了。
另外它除了支持本地硬盘同步外,还支持MTP、谷歌网盘、OneDrive、Dropbox网盘、亚马逊服务器、微软服务器、FTP 等等同步。
总的来说「GoodSync」各种同步设置方案非常灵活,不过这款软件是需要付费的,没记错的话,这个软件每年都会有一次限免活动,大概在 7 月份样子,感兴趣的到时候记得留意噢,当然你也考虑购买正版。
    官方下载:
    https://www.goodsync.com/download/GoodSync-v11-Setup.exe
    官方网站:
    https://www.goodsync.com

FreeFileSync
如果你不想购买付费的软件那么「FreeFileSync」可以说是「GoodSync」的免费代替品了,并且跨平台支持,拥有 Windows、macOS、Linux 客户端。同步模式支持同步、镜像、更新、自定义四种模式,这里根据自己的情况来选择了。
同时也支持支持 FTP / SFTP 文件传输协议、支持批处理自动同步文件、支持排除文件筛选器、支持命令行调用、支持区分大小写的同步等功能。
缺点就是不能像「GoodSync」那样有多种触发同步方案设置,不过如果你只是轻量备份文件的话,其实也够用了。
    官方下载:
    https://freefilesync.org/download/FreeFileSync_11.21_Windows_Setup.exe
    官方网站:
    https://freefilesync.org

WinDataReflector
这款「WinDataReflector」是比较轻量级的文件同步软件,便携版它只有单个文件,功能方面提供了双向备份、支持定时备份、支持运行多个任务备份,不过它是有免费版和付费版。
同时「WinDataReflector」也支持 Google Drive、DropBox、OneDrive、FTP 和 SFTP 等等。它可以在本地文件夹或网络共享与云文件夹或两个云文件夹之间同步文件。
其它功能方面支持保留副本、支持NTFS文件权限、支持排除与排除列表中正则表达式匹配的任何目录,文件名,文件扩展名或排除文件、压缩备份支持等。
总的来说「WinDataReflector」功能还是蛮强的,特别是自动压缩备份功能可以帮你节省不少磁盘空间,不过一些功能需要付费版才能用,有需要的自己购买了。
    官方下载:
    https://veridium.net/files_u/wdr/exe/WinDataReflector_x64.zip
    官方网站:
    https://veridium.net/windatareflector

Genie Timeline Home 10
上面推荐的几款软件都是单向、双向备份的软件,对于有些用户来说只需要自动备份磁盘、或者指定位置的文件即可,因为有些用户习惯把一些资料丢桌面或者默认的文档目录里面,重装系统时忘记保存备份出来就悲剧了。
而这款「Genie Timeline Home 10」就是针对磁盘文件备份的工具,使用很简单,选择需要备份的文件夹、选择需要备份的内容,然后设置备份相关的功能。
功能支持设置文件历史版本管理,可以设置 30 天或以上的文件版本,总的来说这款软件对于经常误删文件、喜欢随手清空回收站的用户来说还挺有必要,不过它没有中文语言,以及是付费软件。好在现在限免阶段,可以白嫖,需要的赶紧领取吧。
    网盘下载:
    https://www.123pan.com/s/c8zA-vgzN3
    官方网站:
    https://www.zoolz.com/genie9
    领取序列号:
    https://www.zoolz.com/genie9/free-gift

Syncthing
如果你需要更高级的自动同步备份需求那么一定要了解这款「Syncthing」免费开源的神器了,它可以部署到你的服务器、树莓派、路由器作为私有云盘来自动备份文件、以及跨平台支持 Windows、Mac、Linux、Android、网页版。
而且「Syncthing」部署安装也非常简单,下载后直接运行就行了,另外官方也提供了 SyncTrayzor 图形界面客户端,新手设置功能起来也更方便。
功能方面支持文件版本控制,会自动保留文件的历史版本,每次文件在变化之后都会增加一个版本。支持同步多个文件夹,支持设置单向同步、双向同步、设置扫描文件变化的间隔;不限制文件大小,支持 https、支持局域网同步,也可实现互联网同步。
    官方下载:
    https://syncthing.net/downloads
    官方网站:
    https://syncthing.net

微力同步
这款「微力同步」据说是基于开源的「Syncthing」二次开发的项目,同样支持超多平台,可以将任何文件夹同步到你的所有设备。软件特点采用了智能 P2P 技术同步,会把文件分割 N 份数据同步并进行加密,不需要第三方服务器即可让多台电脑之间直接互相同步和共享文件。
同步功能方面,支持新建同步、同步目录、历史记录、设备管理、中继服务、支持文件在线预览和编辑同步位置显示您同步目录文件夹列表。
提供回收站功能,当你把文件在其它设备上替换或删除时,在本设备的目录下保存备份,并支持还原历史文件。
支持记录对文件的添加,修改、删除的操作记录,通过历史记录列表可查看时间时间及发生设备。
总的来说,如果你想搭建跨设备文件同步服务的话目前「微力同步」是不错的选择,据了解,目前不少第三方固件也都内置了这个软件。
    官方下载:
    http://www.verysync.com/download.html
    官方网站:
    http://www.verysync.com

Duplicati
如果上面的备份软件都达不到你的要求,那么就不要错过「Duplicati」这款免费开源的软件了,最大特色能够自动备份、增量备份、同时保留多个备份,以及几乎全平台支持,你可以把它部署到服务器、NAS、或者本地使用,另外它还支持了目前主流的各大网盘。
功能方面,提供了优秀的备份维护机制,支持定期删除旧的备份、上传备份带宽限制、支持备份前对数据进行了压缩和打包、可以对数据进行 AES-256 加密,支持历史版本、计划任务、以及还有命令行功能。
    官方下载:
    https://www.duplicati.com/download
    官方网站:
    https://www.duplicati.com
    项目地址:
    https://github.com/duplicati/duplicati

总结
只有经历过重要数据丢失的用户,才能体会到“数据无价”,所以如果你的电脑/手机上有重要的数据一定要做好定期备份的习惯,而网盘备份带来的限制多多,毕竟数据存放在别人的服务器上还是有点安全顾虑,所以重要数据还是建议本地备份,而其它数据备份到网盘倒无所谓。

--------------------------------------------------------

 网盘限速?自己打造「数据存储」中心,不香吗?

相信大多数人都遇过硬盘/U盘损坏导致数据丢失的情况,雷锋哥曾经因为一个小失误烧掉了两个硬盘,几百G的 "学习资料" 灰飞烟灭,伤心了几个月睡不着觉。
后来有了各种云同步网盘可以方便你同步资料,但也是被坑了几次,金山网盘、华为网盘、新浪微盘等纷纷倒闭,没有第一时间下载回来数据,同样备份的数据丢失了一大部分。
如今一家独大的度盘,不充值会员下载难,存放的 "学习资料" 也可能会被删除,而国外的网盘速度体验也不太好,所以还是本地备份最靠谱。
本地备份有钱的土豪当然上 NAS 或者 服务器,没钱的雷锋哥只能用路由器挂着硬盘来备份。
现在大多数路由器都可以外挂硬盘,电信送的光猫也是支持的,机械硬盘价格也是白菜价,从成本上/安全性来说,比你充值网盘会员要划算得多。
使用路由器挂载硬盘还有一个好处,你同局域网的手机/电视啥的可以通过 Samba 或者 FTP 方式访问到挂载路由器硬盘内容,想外网访问可以找宽带运营商申请外网 IP,或者花生壳内网穿透之类的。
想要把你电脑上的资料自动备份到路由器上硬盘,需要一款自动同步的软件,之前雷锋哥用「GoodSync」虽然好用,但是付费软件,功能也强大,不过很多都用不到,所以选择免费开源的轻量级同步软件「FreeFileSync」并且文件夹对比/同步/备份工具。

FreeFileSync使用
「FreeFileSync」虽然免费开源,但功能毫不逊色于付费的商业同步软件,在平台上支持 Windows、macOS、Linux,所以如果你有多台不同系统的电脑还可以实现跨平台备份。
添加同步文件夹:在左边相对路径选择需要备份的 "源文件夹",右边相对路径选择需要备份的文件夹路径,支持备份到 Google Drive、SFTP、FTP、服务器目录。
雷锋哥是备份到路由器挂载的硬盘,支持 FTP 模式,所以这里连接到 FTP ,选择你要备份的目录。
文件夹设置完毕后,点击 "比较" 会列出源文件夹和备份文件夹的文件对比,分析出哪些文件需要同步备份。
同步模式:「FreeFileSync」支持同步、镜像、更新、自定义四种模式,这里根据自己的情况来选择了。
雷锋哥用的是更新模式,只需要把源文件夹最新文件自动备份,在同步设置里面可以自定义复制较新文件、重复文件冲突等处理方式。也可设置历史版本的保存目录,避免旧文件被新文件直接覆盖。
一切设置完毕后,按 "同步" 或 快捷键 F9 开始同步内容。请确保备份的文件夹有足够的容量用来备份。
自动同步:点击左上角的 "另保存为批处理作业" ,保存为一个计划处理的任务文件,例如:BatchRun.ffs_batch。
然后运行 "RealTimeSync.exe" 程序,要监视的文件夹:选择你需要备份的源文件夹。
Miinimum idle time:设置空闲检测时间,如果你需要频繁备份文件,建议设置较短的时间。
命令行输入:"RealTimeSync.exe的安装目录" + 空格 + "计划处理的任务文件路径",例如:
    "C:\Program Files\FreeFileSync\RealTimeSync.exe" "D:\XIAOYI SYN\BatchRun.ffs_batch"
然后点击 "开始",当目录检测到有新变化时,就会自动备份文件。如果备份的文件太多,你也可以设置同步完毕后自动关机、休眠。
如果你希望 RealTimeSync 程序开机自动运行,可以把它加入到系统的启动项里面。
快捷键 Win+R,输入:shell:Common Startup,然后把 RealTimeSync 的快捷方式放到里面。

功能特色
    支持多平台(Windows/Mac/Linux)
    支持 FTP / SFTP 文件传输协议
    支持对比检测文件
    支持批处理自动同步文件
    支持多种同步方案
    支持排除文件筛选器
    支持 Unicode (中文文件名)
    支持命令行调用
    支持区分大小写的同步

总结
对于个人轻量备份文件「FreeFileSync」完全够用了,在后台静静的自动检测源与目标之间的差异,实现增量同步备份。要说缺点,就是默认不支持计划备份,但可以通过系统自带的「Windows任务计划程序」来添加,比较麻烦点就是了。

下载
    WIN端:https://lanzoux.com/iupgng7uoah
    官方网站:https://freefilesync.org



 

No comments:

Post a Comment