FreeFileSync是一款文件夹比较和同步软件,用于创建和管理所有重要文件的备份副本。
FreeFileSync不是每次都复制每个文件,而是确定源文件夹和目标文件夹之间的差异,只传输所需的最小数据量。
FreeFileSync是一款开源软件,适用于Windows、macOS和Linux。
FreeFileSync官方网站:https://freefilesync.org/
1、安装FreeFileSync,此处以CentOS环境为例,过程略。
2、打开FreeFileSync:

左侧红框处设置源文件夹路径,可以是FTP链接形式的地址路径,右侧绿框处设置目标文件夹路径。
3、点击红框上方的蓝色齿轮按钮,调出设置窗口:

“选择一个变化”选项下,选择“文件时间和大小”,并勾选底部的“忽略错误”,点确定。
4、 再点击绿框上方的绿色齿轮按钮,调出设置窗口:

“选择一个变化”选项下,选择“镜像”,“删除和覆盖”选项下,根据自己的需要设置,我这里以选择“历史版本”为例,右边须设置历史版本的保存位置 ,点确定 。
5、点击“另存为批处理作业”按钮:


把红框内的选项都勾上,然后保存到某个位置,比如我这里是/root/BatchRun_Uploads.ffs_batch。
6、退出FreeFileSync,设置系统定时任务,添加如下一行:
30 1 * * * DISPLAY=:0 /opt/FreeFileSync/FreeFileSync /root/BatchRun_Uploads.ffs_batch > /dev/null 2>&1
“30 1 * * *”:每天1点30分执行一次;
“DISPLAY=:0”:这句必须添加,原因是执行批处理脚本时需要调用FreeFileSync的图形界面,这个图形界面在CentOS定时任务中不能直接运行;
“/opt/FreeFileSync/FreeFileSync /root/BatchRun_Uploads.ffs_batch”:前面是FreeFileSync主程序的安装路径,后面是批处理文件的保存路径。
备注:有关CentOS定时任务的设置可参考http://ken.01h.net/linux-crontab%e5%91%bd%e4%bb%a4/