使用 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”将在传输之前计算并进行删除。
为了清楚起见:“传输”之前/期间/之后是指在源和目标之间传输所有数据更新之前/期间/之后。