1. create user on every server(root login): useradd syncuser -g apache passwd syncuser # set sync folder pemission chown -R syncuser.apache /opt/syncuser chmod -R 770 /opt/syncuser 2. on every src server(syncuser login): # create key ssh-keygen -t rsa # pub id_rsa to every src server ssh syncuser@192.168.1.102 "mkdir .ssh; chmod 0700 .ssh" scp ~/.ssh/id_rsa.pub syncuser@192.168.1.102:~/.ssh/id_rsa.pub ssh syncuser@192.168.1.102 "cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys2" 3. try again, needn't password. ssh syncuser@192.168.1.102 "touch /tmp/test.txt" 4. rsync files rsync --delete --stats -ago --exclude "/log" src/ cco@192.168.1.102:~/desc/ rsync --delete --stats -ago --exclude "/log" src/ cco@192.168.1.103:~/desc/ 5. make sure that: (1) use src/ to just sync sub files, not this folder (2) use --exclude to keep some folder on desc folder(e.g. log) Exclude pattern ref: http://www.blowfisher.net/wiki/tech-notes/rsync-exclude-pattern