一次可以启动多少个 RYNC 会话

一次可以启动多少个 RYNC 会话

我只是想知道,如果 Rsync 正在进行备份,并且我的 cron 任务中有其他 rsync 会话时间,两者是否可以同时运行,或者第一个必须在第二个启动之前完成

答案1

如果他们使用相同的来源和不同的目的地在目录结构上,除非它们都使用保证不会更改的源(不太可能),否则我不会这样做。相反,flock在这种情况下,您可能希望使用为进程创建一个锁定文件。然后,您可以终止当前进程并用新进程替换,或者停止运行较新的进程。您可能想要第二个选项,否则如果它们的时间不正确,rsync 操作可能永远不会结束。

如果保证源不会改变并且它们是不同的目的地,这甚至可能是好的,因为它可以利用文件缓存。

如果它们使用不同的源和目标,您可以同时运行它们而不会出现问题。但是,我会仔细观察iostat以确保您的 IO 不会过载。

因此,总而言之,如果您的目标是同步两个目录树:

  • 相同来源/不同目的地 = 可以,但前提是来源是静态的,否则由于竞争条件而无法预测。两个目的地可能彼此不同步。
  • 相同来源/相同目的地 = 怀疑是否可以,但我看不出有什么优势。使用锁定文件。
  • 不同的来源/相同的目的地 = 结果将取决于竞争条件。您可能希望以某种方式协调来源。也许可以使用标志--update
  • 不同的源/不同的目的地 = 完全没问题,但要注意 IO 负载。

您也许能够使用该--update标志解决一些竞争条件问题:

这会强制 rsync 跳过目标上存在的任何文件,且其修改时间比源文件更新。

我认为删除选项和更​​改目录结构可能会使这些变得更加复杂。

答案2

如果它在您的文件系统的不同部分运行,我看不出您应该受到任何限制的理由。

如果您对文件系统的同一部分(例如,同一个文件夹)执行多次 rsync,它们可能会互相干扰。

相关内容