using rsync for fast copy files
# rsync -avhW --no-compress --progress /src/ /dst/
Here’s my reasoning:
-a is for archive, which preserves ownership, permissions etc.
-v is for verbose, so I can see what’s happening (optional)
-h is for human-readable, so the transfer rate and file sizes are easier to read (optional)
-W is for copying whole files only, without delta-xfer algorithm which should reduce CPU load
–no-compress as there’s no lack of bandwidth between local devices
–progress so I can see the progress of large files (optional)
It’s seen 17% faster transfers using the above rsync settings over the following tar command as suggested by another answer:
# (cd /src; tar cf - .) | (cd /dst; tar xpf -)
using rsync between servers
rsync -axSRzv --rsh='ssh -p22' root@127.0.01:/remote/backups/ /mnt/source/backups/
-S, –sparse handle sparse files efficiently
-R, –relative use relative path names