Throttled transfer

Cap bandwidth to 10 MB/s to avoid saturating the link; progress2 shows overall ETA

rsync -a --bwlimit=10M --info=progress2 /src/ user@<host>:/dst/

tool
rsync7 commands
tags
rsyncnetworkperformance

More rsync commands

  • rsync -a --delete --link-dest=../prev /src/ ./$(date +%F)/

    Time-Machine-style backup: unchanged files hardlink to prev, only deltas use new space

  • rsync -a --partial --append-verify --info=progress2 big.img user@<host>:/dst/

    Resume interrupted big files and verify appended part by checksum; note: only safe if source unchanged

  • rsync -a -e "ssh -p 2222" --exclude-from=excludes.txt /src/ user@<host>:/dst/

    Tunnel over custom SSH port and skip paths listed in excludes.txt (.git, node_modules, *.tmp)

  • rsync -ac --delete-after /src/ /dst/

    Compare by checksum not mtime+size; delete-after avoids removing files until transfer succeeds

  • rsync -aHAXv --numeric-ids /src/ user@<host>:/dst/

    Preserve hardlinks, ACLs, xattrs, raw uid/gid for host migration; note: trailing slash matters

all 7 rsync commands