实时同步
— 自动实时同步 —
当检测到文件改变或者文件夹出现,软件就会自动运行同步。
RealTimeSync 直接从操作系统接收更改通知,以避免开销反复轮询更改。
每次在受监控的目录或其子目录中创建 / 更新 / 删除文件或文件夹时,RealTimeSync
等到用户配置的空闲时间 (在此期间未检测到进一步的更改),然后运行同步。
这可确保开始同步时受监控的文件夹不会被大量使用。
示例:使用 FreeFileSync 进行实时同步
启动位于 FreeFileSync 安装目录中的 RealTimeSync.exe 并
输入您要监控的文件夹。 您可以导入 ffs_batch,而不是手动执行此操作
通过
菜单文件 → 文件 → 打开 或只需通过
拖放 即可。
RealTimeSync 不仅会提取所有与同步相关的目录,
但还会设置终端在每次检测到更改时执行 ffs_batch 文件。
现在按
开始 开始监控。
示例: 插入 U 盘时自动同步
把 ffs_batch 配置文件保存到 U 盘根文件夹,比如
H:\ ,然后在 U 盘插入的时候运行这个配置脚本。
注意,不要使用 U 盘的盘符
H:\ (因为这个盘符可能会变),
请使用它的
盘名 ,比如“xxx的 U 盘”
配置 RealTimeSync :
"Backup" 是我们示例中的盘名。
当
H:\Data 文件夹可以访问之后,RealTimeSync 会运行 U 盘上的同步脚本。当
H:\Data中的文件有更改的时候 RealTimeSync 也会运行。
备注
更改文件的完整路径和系统记录的更改通知(创建、更新和删除)会被记录到配置文件的
%change_path% 和 %change_action%。
它们仅对 RealTimeSync 可见。
实例: 输出文件和文件夹变更记录到记录文件
把所有的文件变更按条目写入到log文件:(Windows)
echo %change_action% %change_path% >> %csidl_Desktop%\log.txt
把所有的文件变更按条目写入到log文件:(Linux/macOS)
echo $change_action $change_path >> ~/Desktop/log.txt
限制:
- 如果多个文件(夹)同时发生变更,仅有第一个写入的文件会被记录到 %change_path%。
- 当 RealTimeSync 同步文件的时候会暂停文件变更监测。
- RealTimeSync 依赖操作系统的文件变更通知。
有些情况下操作系统并不会通知变更,比如网络路径不可写、网络驱动错误。
这些有问题的驱动/路径并不会返回错误代码,只是不执行该同步操作。
在文件同步的时候,FreeFileSync 会产生一个文件记录,这也会引发一次文件变更通知。
因此,同步的过程中需要停止文件变更监测,防止进入监测同步循环。
另外,除了 FreeFileSync 自己的记录文件外一般不会在同步的时候发生变更,毕竟文件同步时间都是用户指定的空闲时间。
任何情况下,同步过程中的文件变更会在下次运行的时候同步。