FreeFileSync是一个用于文件同步的免费开源程序。FreeFileSync经过比较其内容,日期或文件大小上的一个或多个文件夹,而后根据用户定义的设置同步内容。除了支持本地文件系统和网络共享以外,FreeFileSync还可以同步到FTP,FTPS,SFTP和MTP设备。数据库
下载网址:https://freefilesync.org/服务器
支持系统:Windows,Linux和macOS网络
1:快捷工具窗口工具
2:保存/加载配置xml
3:文件比较缩略图blog
4:开始比较文件差别按钮资源
5:文件比较设置get
6:过滤条件设置同步
7:修改同步设置it
8:同步按钮
9:源文件目录设置
10:待同步文件目录
11:源文件目录与待同步目录不一样的文件列表
12:同步预览区域
13:待同步文件与源文件不一样的列表
14:同步统计
(1) 设置源文件目录
(2) 设置待同步文件目录
(3) 设置文件比较方式(比较内容、时间、大小)
(4) 设置同步参数(双向、镜像、更新及自定义)
(5) 点击同步按钮
比较两个文件夹时,FreeFileSync会分析相对于包含文件的左右基本文件夹的路径。若是相对路径匹配,FreeFileSync将经过考虑所选的比较变量来决定文件对的分类方式:
3.1 按文件时间和大小进行比较
当变体时间和文件大小匹配时,此变体认为两个文件相等。在将文件与备份位置同步时应该选择它。每当更改文件时,其文件修改时间也会更新。所以,按文件时间和大小进行比较将检测应同步的全部文件。区分如下类别:
(1)文件仅存在于一侧
->仅在左侧
->仅在右侧
(2)文件存在于双侧
->不一样时间——左侧文件较新/右侧文件较新
->相同时间——相同文件/冲突(文件时间一致,大小不同)
3.2 按文件内容比较
若是两个文件具备相同的内容,则将它们标记为相等。在进行一致性检查时应选择此变体,以查看两侧的文件是否按位相同。固然,它是全部比较变体中最慢的,所以其用于同步目的的有用性是有限的。若是用于同步,则当修改时间不可靠时,它能够用做后备。例如,某些移动电话和传统FTP服务器不会保留修改时间,所以在文件大小相同时检测不一样文件的惟一方法是阅读其内容。
(1)文件仅存在于一侧
->仅在左侧
->仅在右侧
(2)文件存在于双侧
->相同文件
->内容不一样
3.3 按文件大小比较
若是文件大小相同,则认为两个文件相同。因为具备相同大小的文件可能具备不一样的内容,所以仅当文件修改时间不可用或不可靠时才应使用此变体,例如,在某些MTP和FTP同步方案中,按内容进行比较的速度太慢。
(1)文件仅存在于一侧
->仅在左侧
->仅在右侧
(2)文件存在于双侧
->相同文件
->大小不一样
若是文件和目录经过全部过滤规则,则仅考虑进行同步。它们必须匹配包含列表中的至少一个条目,而且不包括过滤器配置对话框中显示的排除列表中的任何条目:
每一个列表项必须是相对于同步基目录的文件或目录路径。
必须用|分隔多个项目或新行。
*和?使用:*表示零个或多个字符,而?表明一个字符。
(1)从文件夹对C:\ Source,D:\ Target中排除项目
过滤文件描述 |
过滤实例 |
过滤文件:C:\Source\file.txt |
\file.txt |
过滤单个文件夹:C:\Source\SubFolder |
\SubFolder\ |
全部名字为thumbs.db的文件 |
*\thumbs.db |
全部在SubFolder文件夹的*.tmp文件 |
\SubFolder\*.tmp |
文件或路径包含temp |
*temp* |
多类文件过滤 |
*.tmp | *.doc | *.bak |
根目录全部子文件夹 |
*\ |
子文件夹里的*.txt文件 |
\*\*.txt |
(2)排除除某些文件以外的子文件夹
设置两个具备相同源和目标路径但具备不一样本地过滤器的文件夹对:
文件夹1:排除文件夹: \SubFolder\
文件夹2:包含文件: \SubFolder\*.txt
(3)排除空文件夹
文件大小为零的过滤器设置文件大小过滤器,下限为0个字节。 时间跨度和文件大小过滤器仅匹配文件,所以这将排除全部文件夹。 然而,在同步期间,若是一些排除的文件夹包含至少一个非排除的项目,即当它们不是空的时,它们仍将被同步
同步模式
双向——将左侧的更改同步到右侧,将右侧的更改同步到左侧
镜像——将左侧的更改同步到右侧,包含删除移动等
更新——将左侧的更改同步到右侧,不删除右侧原有的文件
自定义——自行根据须要定义同步模式
检测已移动的文件
FreeFileSync可以在一侧检测移动的文件,而且能够在同步期间快速在目标端应用相同的移动,而不是慢速复制和删除。 为了使其工做,FreeFileSync须要数据库文件(sync.ffs_db)来比较当前文件系统状态与上次同步的时间。
双向——已经建立了数据库文件,所以,移动文件的检测始终处于活动状态。
镜像——不须要数据库文件来查找同步方向,所以默认状况下没法检测已移动的文件。
若是您不介意建立数据库文件,能够经过选中“检测已移动的文件”复选框来启用此功能。
注意
第一次同步文件夹对时,没法检测已移动的文件。 只有从第二次同步开始,数据库文件才可用于肯定移动的文件。
全部文件系统都不支持检测。 最值得注意的是,没法检测FAT文件系统上的某些文件移动。 还有虚拟化的文件系统,例如 安装的WebDAV驱动器可能不支持移动检测。 在这些状况下,FreeFileSync将自动回退复制和删除。
FreeFileSync具备许多专用设置,只能经过手动打开全局配置文件GlobalSettings.xml来访问。请注意,FreeFileSync启动时会读取此文件一次,退出时会再次保存。所以,仅在FreeFileSync未运行时才应用手动更改。对于便携式FreeFileSync变体,该文件位于安装文件夹中,对于本地安装,请转到:
Windows: %AppData%\FreeFileSync
Linux: ~/.config/FreeFileSync
macOS: ~/Library/Application Support/FreeFileSync
FileTimeTolerance:
默认状况下,文件修改时间容许有2秒的差别,但仍被视为相等。这是FAT / FAT32文件系统所要求的,它只能以2秒的精度存储文件时间。
RunWithBackgroundPriority:
在同步正在运行时,访问相同数据位置的其余应用程序可能会出现明显的减速。启用此设置可下降FreeFileSync的资源消耗,但代价是同步速度明显下降。
LockDirectoriesDuringSync:
为了防止多个同步任务读取和写入相同的文件,FreeFileSync实例使用锁定文件(sync.ffs_lock)进行序列化。锁文件只能由FreeFileSync识别,并确保最多只能同时对某个文件夹运行单个同步,而其余实例排队等待。这可确保只有一致的文件集才能同步。主要用例是网络同步方案,其中多个用户针对共享网络文件夹同时运行FreeFileSync。
VerifyCopiedFiles:
若是处于活动状态,FreeFileSync将在复制后对源文件和目标文件进行二进制比较并报告验证错误。请注意,这可能会使文件复制时间翻倍,而且没法保证数据在复制以前还没有损坏。此外,欺骗性地从应用程序和硬件堆栈中的各类缓冲区中读取有效数据可能会隐藏损坏:
NotificationSound:
从比较或同步后要播放的FreeFileSync安装目录中选择声音文件。若是不播放声音,请设置空名称。