用 ctrl-c 中断 rsync,我应该使用 `--partial` 还是 `--append`?

Tre*_*ith 14 rsync file-transfer

我想中断rsyncctrl-c(假设一半的文件转移之后),并恢复而无需重新发送已传输的数据。

我发现的 stackexchange/google 信息似乎相互矛盾。我发现有些人说使用--partial,有些人说使用--append。对我来说,这听起来他们都可以工作。

如果我想用 ctrl-c 中断 rsync,我应该使用--partial还是--append

如果两者都有效,什么时候使用一个比另一个更好?

roa*_*ima 9

重新启动,--partial就足够了。使用--inplace,如果你真的不想要rsync创建融合现有的复制数据和新的,例如,如果临时文件rsync将创建在目标文件夹中的临时文件权限问题。

--append当您可以保证部分复制的数据仍然与源相同时才使用。(通常这是错误的优化。)


spu*_*puk 4

  • --append假设该文件可能已经存在于目标中,它只是使 rsync 不检查已经存在的内容(但见下文)。
  • --partial告诉 rsync 不要删除部分传输的文件。

您还需要--inplacewith --partial(它隐含于--append)。

事实证明--inplace实际上暗示着--partial,这就是为什么--append足够了(它暗示着--inplace暗示着--partial)。但--partial仅此还不够,您需要--inplace,否则 rsync 会创建临时文件而不是更新最终文件。