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

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

我想中断rsyncctrl-c假设在文件传输一半后)并恢复,而不必重新发送已传输的数据。

我发现的 stackexchange/google 信息似乎是冲突的。我发现有些人说 use --partial,有些人说 use --append。对我来说,听起来他们都可以工作。

如果我想用 ctrl-c 中断 rsync,我应该使用--partialor--append吗?

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

答案1

重新启动,--partial就足够了。--inplace如果您确实不想rsync创建合并现有复制数据和新数据的临时文件,例如,如果rsync在目标文件夹中创建临时文件会遇到权限问题,请使用。

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

答案2

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

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

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

相关内容