继续中止cp


17

是否可以cp在中止之后重新运行,并使它从上次结束的地方开始(不覆盖已经复制的数据,仅复制仍然剩余的数据)?

Answers:


32

像这样的情况rsync从一开始就教会我使用。但是,根据您的情况,您可以立即使用rsync。它只会复制新数据,包括在cp大文件中途停止的情况。

您可以像cp一样使用它,如下所示:

rsync --append /where/your/copying/from /where/you/want/to/copy

3
或者--append-verify只是为了确保比较末尾的校验和。
Zaz

7

使用-u开关,请参阅cp手册页。


但是源文件没有更改或其他任何内容
Phil

1
-u仅用于“更新” ...即:如果它们相同或更新,它将不会覆盖目标中的现有文件...
ericslaw

2
如果使用-u,则它将再次复制相同的大文件。-u仅在您尝试恢复大型递归副本时才有用。
罗里

7

如果中止的cp是递归副本,则您可能要使用rsync(包括option)来恢复--recursive

中止复制命令:

cp -r source-directory destination-directory

让我们假设destination-directory已经存在,所以这个复制命令创建了一个名为source-directory destination-directory。可以通过以下方式恢复:

rsync --recursive --append source-directory destination-directory

请注意,在rsync路径选项中,尾部斜杠具有确切的含义。

在这种情况下,复制命令可能已经获得了参数source-directorysource-directory/,这没有什么区别。但是,在rsync命令中,必须source-directory 不带斜杠


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.