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

hal*_*leo 9 large-files rsync file-copy

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

因此,我想在必须中断复制并在重新启动后恢复复制时做好准备。根据我读过的内容,我可以使用

rsync --append 
Run Code Online (Sandbox Code Playgroud)

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

  1. 我是否用于rsync --append所有调用?(对于第一次调用,当目标驱动器上尚不存在中断副本时;对于后续调用,当目标驱动器上存在中断副本时。)

  2. 是否会在不读取所有已复制数据的情况rsync --append下恢复后续调用复制过程?(换句话说: rsync 是否模仿-style查找和读取操作?)dd

roa*_*ima 9

\n

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

\n
\n

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

\n
\n

是否rsync --append在不读取所有已复制数据的情况下恢复后续调用\xe2\x80\xa6?

\n
\n

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

\n

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

\n
rsync -a -vi --append --inplace --partial --progress /path/to/source/  /path/to/target\n
Run Code Online (Sandbox Code Playgroud)\n

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

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

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

\n