Rsync --delete-during(在什么期间?)

Rsync --delete-during(在什么期间?)

使用 RSync,我看到--delete-during在传输过程中删除了目标文件。

“期间”是什么意思? “期间”真的意味着整个文件传输期间吗s,但是在每个单独的文件之后?

但“在每个单独的文件之后”不是什么--delete-delay作用吗? ..等到每个单独文件的传输完成但在整组文件传输完成之前?或者删除延迟是否意味着所有文件传输完成后? ..但这不可能,因为事实就是如此--delete-after

摘要:请帮助我澄清人员/文档对于上述 3 个选项中的每一个说“转移后”时的含义。是在传输文件之后(每个单独的文件)还是在传输所有文件之后?

谢谢!

答案1

来自 Rsync 3.1.2 手册:

--delete-during

请求在传输发生时逐步完成接收方的文件删除。每个目录的删除扫描是在检查每个目录的更新之前完成的,因此它的行为就像一个更高效的--delete-before包括在更新任何每个目录过滤器文件之前进行删除。 [...]并且比使用更有效--delete-after(但可以表现不同,因为--delete-after 所有更新完成后,在单独的过程中计算删除)。

--delete-delay

请求在传输过程中计算接收方的文件删除(如--delete-during),然后在传输完成后删除。 [...]

所以,

  • “during”将在进入每个目录之前(在传输期间)计算并进行删除。
  • “延迟”将在进入每个目录之前(传输期间)计算删除,但将在传输后进行删除。
  • “after”将在传输后计算并进行删除。

并完成:

  • “before”将在传输之前计算并进行删除。

为了清楚起见:“传输”之前/期间/之后是指在源和目标之间传输所有数据更新之前/期间/之后。

相关内容