Server
/etc/rsyncd.conf
gid = users
uid = root
read only = true
use chroot = true
transfer logging = true
log format = %h %o %f %l %b
log file = /var/log/rsyncd.log
hosts allow = 192.0.2.1
[Example]
path = /home/Example
comment = An Example
auth users = user
secrets file = /etc/rsyncd.secrets
[Test]
path = /var/somewhere
auth users = user
secrets file = /etc/rsyncd.secrets/etc/rsyncd.secrets
# user:passwd user:plaintextpasswd
chmod 700 /etc/rsyncd.secrets
Call: rsyncd --daemon
Client
cd /srv/ftp rsync -n -a --exclude "foo/**" --delete --stats -Pv -r user@host.example.com::Test .
-n test, don't do anything
-a archive: copy all rights
--exclude do not copy this pattern and do not change on local side
--delete delete everything on the local side, that didn't exists on the remote side
--stats -Pv beautify output
-r copy recursively
user@... remote: user, host, module
. local: destination directory
Sync Script
cd / for dir in /var/www /home /opt; do echo Syncing $dir rsync -Pv -ar --del host.example.com:$dir/ $dir/ done
