Non-standard SSH port + excludes rsync
Tunnel over custom SSH port and skip paths listed in excludes.txt (.git, node_modules, *.tmp)
rsync -a -e "ssh -p 2222" --exclude-from=excludes.txt /src/ user@<host>:/dst/
more rsync
all 7 commands →
Checksum-based sync
rsync -ac --delete-after /src/ /dst/
Full-fidelity migration copy
rsync -aHAXv --numeric-ids /src/ user@<host>:/dst/
Itemized dry-run diff
rsync -ai --dry-run --delete /src/ /dst/
Throttled transfer
rsync -a --bwlimit=10M --info=progress2 /src/ user@<host>:/dst/
Hardlinked incremental snapshots
rsync -a --delete --link-dest=../prev /src/ ./$(date +%F)/