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)?
4 Answers
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
-
4Or
--append-verify
to compare checksums at the end just to be sure.– ZazCommented Jun 27, 2018 at 23:57
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.
Use the -u switch, and see the cp man page.
-
-
4the -u is for 'update' only... ie: it wont overwrite the existing files in the destination if they are same or newer...– ericslawCommented Aug 22, 2009 at 4:27
-
4If 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. Commented Jan 14, 2010 at 17:05
-
1This answer was helpful for me because in my case it was many small-ish files and no problem to just delete the incomplete files before running my initial
cp -a
ascp -au
again.– msaCommented May 13, 2021 at 11:58 -
1Should I be worried about unfinished files from the previous
cp
? Or the-u
will take care of that? Commented Nov 1, 2021 at 18:35