RedHat、CentOS这类系统,一般都缺省安装好了rsync。但是没有提供/etc/rsyncd.conf服务端配置文件,所以只能作为客户端同步软件来使用。如果需要搭建rsync服务只需手工创建/etc/rsyncd.conf这个配置文件即可。
sh$ vi /etc/rsyncd.conf
  1. uid=root 
  2. gid=root 
  3. max connections=16 
  4. use chroot=no 
  5. log file=/var/log/rsyncd.log 
  6. pid file=/var/run/rsyncd.pid 
  7. lock file=/var/run/rsyncd.lock 
  8.  
  9. [rsync-dir] 
  10. hosts allow=10.10.1.1 
  11. path=/path/to/dir 
  12. comment = testdir 
  13. read only = yes 
  14. list = no 
  15. transfer logging = yes 
rsyncd.conf的配置分为全局配置和模块配置两部分,一般全局配置主要指定进程运行的uid、pid,最大连接数、log文件、pid文件等等。其他的比如hosts.allow、hosts.deny我个人更喜欢在具体的模块中设置。上面的rsync-dir就是一个模块实例,它定义了只允许10.10.1.1同步服务上的/path/to/dir目录,read only = yes表示只读,各选项的具体说明可以man rsyncd.conf。
在rsyncd.conf中还可以指定一个密码文件,也就是客户端同步时必须先进行密码验证。
 
开启rsync服务
sh$ rsync --daemon --address=10.10.1.100
 
同步文件(operations on 10.10.1.1)
sh$ rsync --avz 10.10.1.100::rsync-dir /opt