How to speed up rsync over ssh in linux
In this tutorial we will show you how to speed up rsync over ssh in linux. Usually using rsync over ssh will be downgrade the throughput and performance because ssh protocol always use compression and encryption. So i will show you how to use rsync over ssh and maximize throughput and performance.
This article assumes you have at least basic knowledge of linux , know how to use the shell.
To speed up rsync over ssh , use this rsync parameter like below
rsync -aHAXxv --numeric-ids --delete --progress -e "ssh -T -c arcfour -o Compression=no -x" user@<source>:<source_dir> <dest_dir>
rsync parameter details
- a: archive mode – rescursive, preserves owner, preserves permissions, preserves modification times, preserves group, copies symlinks as symlinks, preserves device files.
- H: preserves hard-links
- A: preserves ACLs
- X: preserves extended attributes
- x: don’t cross file-system boundaries
- v: increase verbosity
- –numeric-ds: don’t map uid/gid values by user/group name
- –delete: delete extraneous files from dest dirs (differential clean-up during sync)
- –progress: show progress during transfer
ssh parameter details
- T: turn off pseudo-tty to decrease cpu load on destination.
- c arcfour: use the weakest but fastest SSH encryption. Must specify “Ciphers arcfour” in sshd_config on destination.
- o Compression=no: Turn off SSH compression.
- x: turn off X forwarding if it is on by default.
From above detail we will see to speed up rsync over ssh we need to turn off rsync compression and use weakest encryption.
Congratulations, you have successfully speed up rsync over ssh in linux. Thanks for using this tutorial to speed up rsync over ssh.