Skip to content

/compare/rsync/rsync-vs-scp

rsync vs scp: which one to copy files over SSH

The commands on this page have not been executed by our verification runner yet.updated 2026-10-20
tool
rsync
compares
rsync vs scp

Use rsync to copy or keep directories in sync: it compares source and destination and only sends what changed, can resume, preserve metadata and delete files that no longer exist at the source. Use scp for a quick one-off copy of a few files: it is installed wherever OpenSSH is and always sends the whole file. Both use SSH for transport and authentication.

Criterion by criterion

Criterionrsyncscp
Repeated copiessends only changed blockssends every file in full
Resume an interrupted copyyes (--partial, --append-verify)no
Mirror and delete removed filesyes (--delete)no
Dry runyes (-n)no
Preserve permissions, times, linksyes (-a)times and modes with -p
Installed by defaultoften, but not everywherewith every OpenSSH client
Protocolrsync over SSH (rsync needed on both ends)SFTP by default since OpenSSH 9.0

Typical commands

bash
# mirror a directory, show progress, delete files removed at the source
rsync -avh --delete --progress ./site/ user@host:/var/www/site/

# preview what would change
rsync -avhn --delete ./site/ user@host:/var/www/site/

# copy one file with scp
scp ./backup.tar.gz user@host:/srv/backups/

Sources