rsync for the win

I prefer rsync over cp or scp:

1. Delta-transferDelta-transfer algorithm only sends the bytes that have changed.
2. Resilient and repeatableThe --partial flag picks up where transfer fails.
3. Metadata preservationPreserves permissions and ownership, symbolic links, and timestamps (critical for audit trails and incremental backup logic).
4. Dry runSimulate a transaction with --dry-run.

Examples

1. Remote Push: Sending local data to a server

Force SSH for the transport layer with -e ssh.

rsync -avz -e ssh /local/path/ user@remote_host:/remote/path/

2. Remote pull from a server

Use this to pull logs or database dumps for local analysis.

rsync -avz -e ssh user@remote_host:/remote/path/ /local/path/

3. Backup to external drive

On Fedora, external drives are automatically mounted under /run/media/. This command creates a mirror and --delete removes files no longer on the source.

rsync -av --progress --delete /home/user/Documents/ /run/media/user/ExternalDrive/Backup/

Final Verdict

Stop copying and start synchronizing but remember the --dry-run flag!