接上篇rsync+sersync 远程文件实时同步工具简介及配置原理
3.4 rsync+sersync 配置部署
用192.168.206.235(S1)(e7-112)和192.168.206.234(S2)(e3-112)这两个服务器互相远程同步。
服务器 | S1 | S2 |
---|---|---|
IP地址 | 192.168.206.235 | 192.168.206.234 |
服务器名称 | e7-112 | e3-112 |
同步用户 | dongxw | dongxw |
同步路径 | /home/dongxw/dxw-235-234/ | /home/dongxw/dxw-234-235/ |
3.4.1 rsync配置部署(客户端)
-
查看防火墙的873端口(rsync专用端口)是否已开;
# netstat –aptn
-
安装rsync(centOS缺省是安装了rsync的,只是缺省没有配置和启动后台进程而已);
-
配置rsync:
由于sersync需要rsync工作在daemon模式,因此需对 rsyncd.conf 进行配置来开启 rsync daemon。
rsync的配置文件路径为 /home/dongxw/rsync/rsyncd.conf 。由此可知,同一服务器上可以部署不同的rsyncd.conf,并且可以存放在自定义路径下,在开启daemon时利用–config指定相应路径即可。[dongxw@e3-112 ~]$ vim /home/dongxw/rsync/rsyncd.conf
打开 rsyncd.conf 后如下:
#/etc/rsyncd: configuration file for rsync daemon mode #See rsyncd.conf man page for more options. #configuration example: # rsync本地使用者ID,设置rsync运行权限为root uid = root gid = root # 默认为true,修改为no,增加对目录文件软连接的备份 use chroot = no # 最大连接数 max connections = 20 # 记录rsync daemon进程号的文件,最好放在该处,不然rsync daemon可能无法开启 pid file = /var/run/rsyncd.pid # max connectios参数的文件锁,文件路径最好和pid file保持一致,尤其不要把文件名改为rsyncd.lock lock file = /var/run/rsync.lock # rsync daemon日志文件,该文件路径可自行定义,启动rsync后自动产生这个文件,无需提前创建 log file = /home/dongxw/rsync/rsyncd.log # 不同步的文件 #exclude = lost+found/ # 开启传输日志记录 transfer logging = yes # 设置超时时间 timeout = 900 #ignore nonreadable = yes # 用来指定那些不进行压缩处理再传输的文件,默认值是 *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz。因为这些文件已经经过压缩,默认不用修改。 #dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 # 设置本地rsync daemon模块 [dongxw234] # 同步模块名 path = /home/dongxw/dxw-234-235/ # 本地同步文件夹路径 comment = dongxw234 # 同步模块的描述 auth users = dongxw # rsync的使用者。可添加多个使用者,在密码文件中分别录入其密码即可 secrets file =/etc/rsync.passwd # 密码文件的存放路径 port = 873 # rsync daemon的端口号,一般是873 read only = no # 设置rsync服务端文件为读写权限 list = yes # 远程服务器请求显示模块列表时,本模块名称是否显示,默认为yes hosts allow = 192.168.206.235 # 允许远程访问的服务器IP。多IP和网段之间使用逗号分隔 #hosts deny =
配置文件的详细条目说明见
rsync+sersync实现文件同步
linux centos7 rsync+sersync实现数据实时同步
rsync文件同步详解
Rsync以守护进程(socket)的方式传输数据 -
创建同步的用户与密码文件,记得要设置文件权限600(只能为600,任何其他权限都不行):
当S1向S2同步时,在S2上执行:# echo "S2:password" >>/etc/rsync.passwd # chmod 600 /etc/rsync.passwd
上述 /etc/rsync.passwd 目录应该是可自行定义的。
但要注意:服务端 rsync 服务是以什么用户运行,则必须保证secrets file文件拥有者与其相同。secrets file文件里记录的具体用户名可自行定义。例如:此处是 root 运行 rsync --daemon,则 secrets file 的 owner 也必须是 root 。本次配置部署中S2用到的 rsync 同步模块的用户名为 dongxwÿ