来自 rsync 联机帮助页
已排序的转移订单
Rsync 始终将指定的文件名排序到其内部传输列表中。这可以处理同名目录的内容合并在一起,可以轻松删除重复的文件名,并且当文件以与命令行上给出的顺序不同的顺序传输时,可能会让人感到困惑。
如果您需要在另一个文件之前传输特定文件,请将文件分成不同的 rsync 调用,或者考虑使用 --delay-updates (这不会影响排序的传输顺序,但确实会使最终的文件更新阶段发生得更快)。
由于 --delay-updates 不会影响排序的传输顺序,因此如果我们“需要在另一个文件之前传输特定文件”,它有何帮助?
谢谢。
答案1
如果我们“需要在另一个文件之前传输特定文件”,它有何帮助?
正常情况下,一次复制一个文件。因此,如果顺序不正确,那么“错误”的文件可能会在其他文件之前更新相当长的一段时间。
使用--delay-updates,文件会在一段时间内复制,但最后很快就会正确地放入文件系统中。文件可能会被乱序复制,但目的地上的人可能能够分辨出的时间窗口比正常情况要小得多。
它并没有修复顺序,但确实降低了竞争条件失败的可能性。