Copy files in Linux, avoid the copy if files do exist in destination


I need to copy a /home/user folder from one hard disk to another one. It has 100,000 files and around 10G size.

I use

cp -r /origin /destination

sometimes I get some errors due to broken links, permissions and so on. So I fix the error, and need to start again the copy.

I wonder how could I tell the command "cp", once it tries to copy again, not to copy files again if they exist in the destination folder.

Best Answer

cp -R -u -p /source /destination

The -u (or --update) flag does just this:

From the man page for cp:

-u, --update

copy only when the SOURCE file is newer than the destination file or when the destination file is missing