rsync --append 是否能够恢复中断的复制过程而不读取所有复制的数据?

rsync --append 是否能够恢复中断的复制过程而不读取所有复制的数据?

我需要将同一台计算机上的一个非常大的文件 (3TB) 从一个外部驱动器复制到另一个外部驱动器。这可能需要(由于带宽较低)很多天。

因此,我想在必须中断复制并在重新启动后恢复复制时做好准备。从我读过什么我可以用

rsync --append 

为此(rsync版本> 3)。关于国旗的两个问题--append

  1. rsync --append用于全部调用? (对于第一次调用时目标驱动器上的中断复制仍然存在,并且存在时的后续调用目的地的副本被中断。)

  2. 是否rsync --append为后续调用恢复复制过程没有读取所有已复制的数据? (换句话说:rsync 是否模仿add式查找和读取操作?)

答案1

我是否用于rsync --append所有调用?

是的,您每次都会使用它(第一次没有任何可附加的内容,因此它是一个无操作;第二次和后续时间它被执行)。但--append根本不使用除非你可以保证认为来源不变来自上一次运行(如果有),因为它关闭了对先前复制内容的检查。

是否rsync --append恢复后续调用...而不读取所有已复制的数据?

是的,但如果没有,rsync --partial可能会先删除目标文件。

正确的调用应该是这样的:

rsync -a -vi --append --inplace --partial --progress /path/to/source/  /path/to/target

--progress如果您不想看到进度指示器,并且-vi您不太关心更多信息结果(您仍然会被告知成功或失败),则可以将其删除。您可能会看到-P在其他情况下使用:这与此处相同--partial --progress并且也可以用于此处。

  • --append重新启动后继续,而不检查之前传输的数据
  • --partial保留部分传输的文件
  • --inplace强制更新到位

如果您对自第一次尝试以来源可能已更改有任何疑问rsync,请使用(慢得多)--append-verify而不是--append。或者更好的是,--append完全删除该标志并rsync删除目标并再次开始复制它。

答案2

为此,您需要使用该--partial选项。从联机帮助页:

--partial                keep partially transferred files

相关内容