rsync is an open source utility that provides fast incremental file transfer. rsync is freely available under the GNU General Public License.

pacman -S rsync
rsync --recursive --links --times --owner --group --itemize-changes --partial --progress --human-readable --verbose --stats /local/path user@host:~/path/

From ssh to local:

rsync --recursive --links --times --owner --group --itemize-changes --partial --progress --human-readable --verbose --stats user@host:~/path/ /local/path


rsync -rltogiPhv --stats /local/path user@host:~/path/
rsync -rltogiPhv --stats user@host:~/path/ /local/path

Different port:

rsync -rltogiPhv --stats -e "ssh -p PORTNUMBER" /local/path user@host:~/path/

See what each option does - https://man.archlinux.org/man/rsync.1#OPTION_SUMMARY

echo "$user:$password" > /etc/rsyncd.secrets
chmod 400 /etc/rsyncd.secrets

Change $user.

nano /etc/rsyncd.conf
path = /path/
comment = Archive
timeout = 300
read only = false
# http user if you want to have access via web
#uid = 33
#gid = 33
# Run a script before and after a connection
#pre-xfer exec = /root/before_script.sh
#post-xfer exec = /root/after_script.sh
# Security
auth users = $user      
secrets file = /etc/rsyncd.secrets
# Optional
#hosts allow =
systemctl enable --now rsyncd.service


rsync --rltogiPhv --stats /local/path rsync://$DAEMONUSER@$DAEMONHOST/archive/path/

Go to our backup tutorial.

  • en/server/services/rsync.txt
  • Last modified: 2022/02/26 06:37
  • by dan