14

Is it possible to run cp again after it was aborted and make it start where it ended last time (not overwrite data that's already copied, only copy what's still left)?

27

It's cases like this that have taught me to use rsync from the start. However in your case, you can use rsync now. It will only copy new data across, including if cp stopped half way through a big file.

You can use it just like cp, like this:

rsync --append /where/your/copying/from /where/you/want/to/copy
  • 1
    Or --append-verify to compare checksums at the end just to be sure. – Zaz Jun 27 '18 at 23:57
7

Use the -u switch, and see the cp man page.

  • but source files didn't changed or anything – Phil Aug 22 '09 at 0:29
  • 1
    the -u is for 'update' only... ie: it wont overwrite the existing files in the destination if they are same or newer... – ericslaw Aug 22 '09 at 4:27
  • 2
    If you use -u, then it will copy the same big file again. -u only helps if you're trying to resume a large recursive copy. – Rory Jan 14 '10 at 17:05
5

In case the aborted cp was a recursive copy, you might want to resume with rsync including the option --recursive.

Example

Aborted copy command:

cp -r source-directory destination-directory

Let us assume that destination-directory already existed, so that this copy command created a directory named source-directory within destination-directory. This can be resumed via:

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

Note that trailing slashes have a precise meaning in rsync path options.

In this case, the copy command could have gotten the argument source-directory or source-directory/, it does not make a difference. In the rsync command, however, it must be source-directory without trailing slash.

4

rsync is a great tool also: man page at -> http://www.manpagez.com/man/1/rsync/

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.