28

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)?

splattne
  • 28,776
Phil
  • 2,119

4 Answers4

42

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
Amandasaurus
  • 33,461
11

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.

8

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

Sven
  • 100,763
5

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

ForgeMan
  • 401