我想打断rsync一下ctrl-c(例如,在传输了一半文件之后)并继续执行,而不必重新发送已经传输的数据。
我发现的stackexchange / google信息似乎有冲突。我发现有人说使用--partial,有人说使用--append。对我来说,听起来他们俩都可以。
如果我想用ctrl-c中断rsync,应该使用--partial还是--append?
如果两者都可行,那么何时使用哪个优于另一个更好?
我想打断rsync一下ctrl-c(例如,在传输了一半文件之后)并继续执行,而不必重新发送已经传输的数据。
我发现的stackexchange / google信息似乎有冲突。我发现有人说使用--partial,有人说使用--append。对我来说,听起来他们俩都可以。
如果我想用ctrl-c中断rsync,应该使用--partial还是--append?
如果两者都可行,那么何时使用哪个优于另一个更好?
Answers:
重新启动--partial就足够了。使用--inplace,如果你真的不想要rsync创建融合现有的复制数据和新的,例如,如果临时文件rsync将创建在目标文件夹中的临时文件权限问题。
仅--append在可以保证部分复制的数据仍然与源相同时使用。(通常这是错误的优化。)
--append-verify实际上必须实际读取文件两边的部分,因此由于瓶颈而使速度没有提高是读取端的旧驱动器,而不是LAN本身。
--partial-dir,但是我还没有尝试过。
--append 假设该文件可能已存在于目标位置,则只是使rsync不检查该位置已存在的内容(但请参见下文)。--partial 告诉rsync不要删除部分传输的文件。您还将需要--inplacewith --partial(它带有--append)。
原来--inplace实际上意味着--partial,这是为什么--append就足够了(这意味着--inplace这意味着--partial)。但是,--partial仅此一个是不够的,您需要--inplace,否则rsync会创建临时文件,而不是更新最后一个。
--append?因为--partial本身不会恢复。
--inplace。rsync“始终恢复”(它尝试传输所需的最少数据)。是什么--append做的是让rsync不目的地已经校验数据,因此如果在目的地的部分文件已损坏,它会保持与破坏--append。--append例如,如果部分文件非常大且您迫不及待(并且确定或不在意它是否已损坏)或某些其他特定情况,可能会很有趣。
man rsync,选项--append说... Implies --inplace
--inplace将工作。--append之所以会起作用,是因为(正如我在回答中所述)它隐含了--inplace,隐含了--partial(当被Ctrl-c中断时,它将保留部分传输的文件,这是原始问题)。所以,--append意思是“做的--inplace,但不校验什么已经在目标这是一个重要的区别如果你不关心它,使用。
--partial 没有 的意义何在?--inplace