auth users = username 允许链接该模块的用户,该用户是虚拟用户可以不存在
secrets file = /etc/rsync.passwd 用户密码(auth user)的存放文件
strict modes = yes 检查secrets file文件的权限是否满足要求
use chroot = no 是否禁锢用户家目录
max connections = 4 最大连接数
hosts allow = ipaddress/netmask 白名单
hosts deny = ipaddress/netmask 黑名单
此处需要注意:
(1)默认规则为允许访问,二者都不出现时
(2)只出现hosts allow:定义白名单;但没有被匹配到的由默认规则处理,即为允许
(3)只出现hosts deny:定义黑名单;出现在名单中的都被拒绝
(4)二者同时出现,先检查hosts allow,如果匹配就allow,否则,检查hosts deny 如果匹配则拒绝,如二者均无匹配,则使用默认的,即允许
4、为auth user用户创建secrets file文件存放账号和密码,
vim /etc/rsync.passwd 账号可以不存在,密码可以任意设置
5、因为开启了strict modes = yes,所以要修改/etc/rsync.passwd文件权限
chmod 600 /etc/rsync.pass
6、将rsync服务设为开机启动并启动该服务,rsync侦听在873端口
chkconfig rsync on
service xinetd start
7、使用命令测试是否可以正常同步
testuser与password就是步骤4中定义在rsync.passwd文件中的用户和密码,test目标则是Module Parameters中定义的模块名称
使用password-file文件登录
大部分的备份我们需要结合crontab来执行自动备份,此时就需要rsync在使用时结合password-file文件来免密码登录,操作步骤为:
1、vim /etc/rsync.passwd 创建存放密码的password-file文件来,此处注意的是该文件内容不同于服务器端,仅保存使用rsync命令时的用户的密码
2、安全起见还是需要修改/etc/rsync.passwd文件权限
chmod 600 /etc/rsync.pass
3、再次进行测试,使用--password-file指明存放密码的文件位置,步骤1中的密码此时就是testuser的密码,该用户名和密码需要与服务器端/etc/rsync.passwd文件中的用户名和密码匹配
4、使用crontab -e 命令设置周期性任务,周期性任务保存在/var/spool/cron/user_name文件中,或者使用crontab -l可以查看
如果没有 --delete 选项,源服务器上已删除的部分再执行下一次周期任务时依然会继续保留在目标服务器上,目标服务器只同步源服务器新增的部分
增加 --delete 选项会将源和目标服务器上有差异的部分删除掉
inotify-tools+rsync实时同步文件安装和配置
CentOS 6.5下Rsync远程同步