====== rsync ====== rsync is an [[https://www.opensource.org/|open source]] utility that provides fast incremental file transfer. rsync is freely available under the [[https://rsync.samba.org/GPL.html|GNU General Public License]]. ===== Package ===== pacman -S rsync ===== SSH ===== 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 **Short**: 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 ===== Daemon ===== ==== Credentials ==== echo "$user:$password" > /etc/rsyncd.secrets chmod 400 /etc/rsyncd.secrets ==== Config ==== nano /etc/rsyncd.conf [archive] path = /path/ comment = Archive timeout = 300 read only = false # Security auth users = $user secrets file = /etc/rsyncd.secrets # Optional #hosts allow = 192.168.1.0/255.255.255.0 ==== Service ==== systemctl enable --now rsyncd.service