数据是电脑中最重要的东西。为了保证数据安全,我们经常会对数据进行备份。之前一直采用将重要数据拷贝至移动硬盘的方式实现备份,实现简单但每次都需要把所有文件拷贝一次,当文件很大时效率较低。
因此,考虑使用 FreeFileSync 软件实现数据备份。该软件使用 C++ 语言编写、免费、开源且支持桌面端全平台。它基于文件的修改时间和大小判断文件是否修改,提供了增量备份、镜像备份和双向备份等多种模式,相比手动拷贝更为方便快捷。
本地备份非常方便,但是当我们需要在两台设备之间迁移数据的时,需要采用 “备份-恢复” 的方式复制文件两次,效率也比较底下。FreeFileSync 除本地备份外,还支持 Google Cloud、SFTP、FTP等多种云端备份方式。因此,在数据迁移时可以使用 FileZilla Server 在目标设备上搭建 FPT 服务器,然后在待迁移设备上使用 FreeFileSync 将数据直接迁移至目标设备。
以下为具体的实现方式。
FreeFileSync 本地文件备份
首先,从 FreeFileSync官网 下载最新版安装程序并安装。
安装完成后,打开软件,在下图的 1 和 2 位置分别设置备份的源路径和目标路径。路径设置即可以点击右侧浏览按钮进行选择,也可以直接将文件夹拖动至输入框。
路径设置完成后,点击上方的 比较
按钮比较两个文件夹中文件的差异。文件比较非常快。比较完成后,下方窗格中将显示两个文件夹下文件的差异,左下方窗格则显示各个子文件夹的大小和占总体的百分比。
窗口三方的蓝色齿轮、红色漏洞和绿色齿轮可以分别设置文件比较方法、过滤器和同步方式。
- 蓝色齿轮为文件比较方法,默认设置为
文件时间与大小
,能够较好地兼顾准确性和速度。如果需要精确的文件对比,可以修改为文件内容
。 - 红色漏斗为过滤器,可以设置文件备份时要排除的文件或文件夹,且支持简单的正则表达式。可以在
排除
中添加形如\Dropbox\
的字符串以排除备份源路径下的Dropbox
之类的云同步文件夹的备份。 - 绿色齿轮为同步方式,有双向、镜像、更新和自定义四种方式。一般比较推荐镜像同步和更新同步这两种方式,不推荐默认的双向同步。
- 双向同步会识别两个目录中文件的差别,最终将两个目录中的内容和结构保持相同,即两侧都保证文件是最新的。这是软件的默认设置,但是不推荐该方式。因为最新的文件不一定就是想要的,这种方式容易造成文件混乱和丢失。
- 镜像同步会识别两个目录中文件的差别,最终以左侧目录为准进行同步。该方式能够保证同步后目标设备中数据完全与源设备一致。
- 更新同步会识别两个目录中文件的差别,最终将左侧目录中的新文件和变动的文件同步。该方式即常说的“增量备份”,即不对未修改的文件进行备份,相比镜像同步效率更高。但是未修改文件的判定依赖于选择的文件比较方法,不一定都能判断正确。
- 自定义同步则是根据自己的需求进行同步规则的配置。
全部设置完成后,点击右上角 同步
按钮,在弹出的窗口中点击 开始
,即开始数据备份。一定注意要检查好备份的源路径和目标路径,一旦设置错误就可能导致数据丢失。
备份过程中将有一个窗口提示备份进度。窗口中上方窗格显示基于文件大小的备份进度和剩余时间,下方窗格显示基于文件数量的备份进度和剩余时间。未备份部分使用灰色显示,已备份部分使用绿色显示。
备份完成后将显示备份过程,可以通过 日志
窗格查看备份过程中的问题,确认无误后即完成备份。
FreeFileSync + FileZilla Server 实现远程数据迁移
FTP 服务器搭建
要实现远程数据迁移分两步:(1) 在目标设备上利用 FileZilla Server 搭建 FTP 服务器;(2) 在源设备上使用 FreeFileSync 将数据迁移至目标设备。
首先,从 FileZilla Server官网 下载最新的 FileZilla Server 中文版,此处下载的版本为 FileZilla Server 0.9.60.2 中文安装版(因为最新的 FileZilla Server 1.7.2 英文安装版 与之前版本差异较大,使用教程很少)并在目标设备上安装。安装过程中注意设置 Host 为 127.0.0.1
或者 localhost
,其他设置无需修改。
安装完成后,开始 FileZilla Server 配置。打开软件,点击工具栏上的人头按钮打开User
窗口,在 General
窗格的中间勾选 启用用户
并输入密码,右侧点击 添加
按钮添加用户,设置用户名后点击确定。
切换至 Shared Folder
窗格,在中间的共享文件夹
中添加要贡献的文件夹和权限。切换至 Speed Limit
窗格,将上传和下载速度都设置为 无限制
。设置完成后,点击确定关闭窗口。
设置完成后,点击工具栏最左侧的黄色闪电按钮启动 FTP 服务器。如果提示 Server online
则说明服务启动成功。如果提示 Failed to bind the listen socket on port 21 to the following IPs
,则可能是默认的 21 端口被占用,点击 菜单栏-编辑-设置-常规设置
,将 监听端口
参数调整为 22 或者其他值,再次尝试启动服务即可。
FTP服务器测试和远程数据迁移
可以利用文件资源管理器测试 FTP 服务器是否搭建成功。
首先进行本地测试。在目标设备的文件资源管理器的地址栏中输入 fpt://127.0.0.1
打开本地 FTP 服务器。如果上一步建立服务器时修改了端口,则可以通过 ftp://127.0.0.1:22
的格式指定端口。如果 FTP 服务器建立成功,则可以在输入用户名和密码后打开刚才设置的共享文件夹。
接下来进行远程测试。在目标设备中打开终端,运行 ipconfig
,从中找到目标设备的 IPv4 地址,如 172.xxx.xxx.xxx
。在源设备的文件资源管理器地址栏中输入 fpt://ip:port
测试是否能够打开共享文件夹,如果可以则说明远程 FTP 服务器建立成功。如果刚才的本地测试可行但远程测试无法打开,则可能是防火墙的问题。
最便捷的解决方式是直接在 Windows安全中心-防火墙与网络保护
中临时关闭防火墙,但是这样不够安全。因此,通过将 FileZilla 加入 Windows 防火墙放行应用中。打开 Windows 安全中心-防火墙与网络保护-允许应用通过防火墙
,点击右上角 更改设置
以开启修改,点击右下方 允许其他应用
按钮,在弹出的窗口中选择 FileZilla 运行程序并确定,即将 FileZilla 加入了放行清单。具体可参考文章 【Windows】FileZilla Server 开启防火墙的配置
远程测试通过后,即可以使用 FreeFileSync 进行远程数据迁移了。在源设备上打开 FreeFileSync。在选择备份目标路径时,点击右侧的云朵按钮打开 访问在线存储
窗口并切换至 FTP
窗格。接下来依次设置目标设备IP地址、端口、用户名、密码和服务器上的目录等参数,设置完成后点击确定,即完成迁移目标路径的设置。
其他参数与本地备份完全一致,按需设置即可。设置完成后,点击同步即可开始数据迁移。经测试,FTP备份方式在大文件时可以跑满带宽。