实验环境
某公司在深圳、北京两地各放置了一台网站服务器,分别应对南北大区内不断增长的客户访问需求,两台服务器的网站文档必须保持一致,如图12.3所示,同步链路已通过VPN专用线路实现。
需求描述
> 服务器 A(北京)作为rsync发起端,目录/var/www/html作为原始位置。
> 服务器B(深圳)作为远程rsync 服务器,目录/var/www/html 作为目标位置。
> 结合 inotify机制实现触发式的上行同步,保持两个站点的网页文档一致。
推荐步骤
配置rsync服务器(深圳,服务器B)。
通过 inotify 机制实现实时同步(北京,服务器 A)。
12.1配置rsync源服务器
本章以CentOS7.3系统中的rsync-3.1.2-4.el7.x86_64为例。
[root@node01 ~]# rpm -q rsync
在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的 rsync同步操作的服务器称为同步源。在同步过程中,同步源负责提供文档的原始位置,发起端应对 该位置具有读取权限,如图12.1所示。
(1)建立/etc/rsyncd.conf 配置文件。
配置文件rsyncd.conf位于/etc目录下。下面将以源目录/var/www/html、备份账号backuper为例,介绍其配置方法。
[root@node01 ~]# vim /etc/rsyncd.conf
use chroot = yes //禁锢在源目录
address = 192.168.184.101 //监听地址
port 873 //监听端口
log file = /var/log/rsyncd.log //日志文件位置
pid file = /var/run/rsyncd.pid //存放进程ID的文件位置
hosts allow = 192.168.184.0/24 //允许访问的客户机地址
[wwwroot] //共享模块名称
path = /var/www/html //源目录实际路径
comment = Document Root of www1.bdqn.com //描述信息,可自定义
read only = yes //是否为只读
dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z //同步时不再压缩的文件类型
auth users = backuper //授权账户
secrets file = /etc/rsyncd_users.db //存放账户信息的数据文件
基于安全性考虑,对于rsync的同步源最好仅允许以只读方式做同步,另外,同步可以采用匿名 的方式,只要将其中的“auth users”和‘secrets file”配置记录去掉就可以了。
(2)为备份账户创建数据文件。
根据上一步的设置,创建账号数据文件,添加一行用户记录,以冒号分隔,用户名称为“backuper" 密码为“pwd123”