我想打断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不要删除部分传输的文件。您还将需要--inplace
with --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