优化 Rsync 的模糊基选择

优化 Rsync 的模糊基选择

在rsync命令中,是否可以配置“模糊基础目标文件选择算法”?

--fuzzy在异地传输本地 Proxmox 备份时,我大多数时候都成功地使用了 rsync 的参数,但有时我可以看到(在我的详细日志记录中)rsync为其“模糊基础”选择了错误的现有目标文件。

当它在 200GB 文件上犯此错误时,这尤其浪费,因为它会导致传输大量数据,而如果选择了正确的“模糊基础”,则这些数据本来不需要传输。

关于我的传输的棘手部分是,虽然源文件夹和目标文件夹每次都是相同的,但每次传输时源文件夹中的所有文件名都是不同的。然而,“每个重命名文件的内容”与先前命名的文件(目标仍然具有先前传输的文件)有 95% 相同。

下面是名称如何更改的简化示例。

# Source Folder's new files (from today's on-site backup):
file100-2019_09-01_12am.log
file100-2019_09-01_12am.lzo
file101-2019_09-01_12am.log
file101-2019_09-01_12am.lzo
file102-2019_09-01_12am.log
file102-2019_09-01_12am.lzo

# Destination-Folder's old files (from yesterday's off-site backup):
file100-2019_08-31_12am.log
file100-2019_08-31_12am.lzo
file101-2019_08-31_12am.log
file101-2019_08-31_12am.lzo
file102-2019_08-31_12am.log
file102-2019_08-31_12am.lzo

大多数时候 rsync 选择正确的“模糊基础”,但有时它会选择错误的。这是选择错误的日志条目:

fuzzy basis selected for file100-2019_08-31_12am.lzo:
file101-2019_09-01_12am.lzo

正如您所看到的,rsync选择file101...lzo作为 的“模糊基础” file100...lzo。然而,这两个文件没有太多共同点(就内容而言),因此由于这种错误的“模糊基础”选择而导致大量数据传输。文件的正确“模糊基础”file100-2019_09-01_12am.lzofile100-2019_08-31_12am.lzo.那么它为什么选择file101-2019_08-31_12am.lzo呢?我如何优化“模糊基础选择”来选择file100-2019_08-31_12am.lzo替代方案?

就我而言,模糊基础选择算法需要选择现有目标文件那:

  1. 与源文件具有相同的文件扩展名
  2. 从与源文件最连续相同的字符开始

在rsync命令中,是否可以配置“模糊基础目标文件选择算法”?

相关内容