一、 实验环境
上一章节我们实现了DNS View主辅区域文件的自动同步,本实验使用rsync实现cfg文件的同步。做到全自动化无人值守。
rsync工具的几个重要特性:
1、能更新整个目录和树和文件系统
2. 有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等
3. 对于安装来说,无任何特殊权限要求
4. 对于多个文件来说,内部流水线减少文件等待的延时
5. 能用 rsh、ssh 或直接端口做为传输入端口
6. 支持匿名 rsync 同步文件,是理想的镜像工具;
7. 只同步改动部分,类似Window的差异备份。
更多rsync工具的介绍可以参考官网rsync.samba.org。
Rsync服务器会使用xinetd服务方式开启873端口监听,等待Rsync客户端连接。Rsync客户端发起连接后,Rsync服务器会检查Rsync客户端提交Rsync服务器内建的户名和密码是否正确,如果通过认证检测,则开始文件传输,传输的过程是按要求先比对文件的大小、属性、权限、MD5值等信息,如果两端文件信息不一致,则按要求同步文件的区别块。
二、 网络拓扑图
三、 实验步骤
1、在DNS View Master上配置rsync服务器端
通过yum源安装xinetd以及rsync软件。
由于rsync配置多样化,因此官网并为给主配置文件的内容,需要手动创建主配置文件rsyncd.conf进行配置。
[root@rhel6u3-2 etc]# cat rsyncd.conf
#This is ACL for DNS view slave bakcup
uid = backup 系统内建用户backup(在/etc/passwd存在),rsync服务的维护用户
gid = named 系统内建组named(在/etc/group存在),rsync服务的维护组
use chroot = no 关闭chroot,包含系统安全
max connections = 4 客户端同步最大连接数设置为4
port = 873 xinetd的同步端口
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log 定义服务器日志文件存在地址
motd file = /etc/rsyncd.motd 描述定义服务器信息
hosts allow = 127.0.0.1,192.168.100.103/255.255.255.0 设置允许同步的IP地址
hosts deny =0.0.0.0/0 设置拒绝的IP地址
以上为全局配置文件
[viewacl] 定义标签
path = /var/named/view/acl 设置服务器端同步的目录
comment = DNS View slave ACL 描述
auth users = xiaonuo 创建服务器端内建用户
secrets file = /etc/rsyncd.secrets 创建内建用户对应的密码文件
read only = true 定义访问方式为只读
list = false 定义客户端不允许列出目录结构
创建rsync服务器端的守护进程用户backup,并添加到named组,由于不需要登录,shell设置为nologin。
创建rsync同步的用户文件和服务器端描述的信息。
设置服务器端的存放cfg目录的权限
设置需要同步的文件权限
设置rsyncd.secrets rsyncd.motd rsysncd.conf文件的权限。
设置完成之后,先启动xinetd服务,再启动rsync服务。
1、 在DNS View Slave上配置rsync客户端
创建用于同步文件的秘钥文件,内容为服务器端创建的传输文件的密码。
使用 rsync -Rav --delete --password-file=/etc/rsync.pas xiaonuo@192.168.100.102::viewacl /var/named/view/acl 同步rsync服务器端。
--password-file=/etc/rsync.pas 秘钥存放的路径
xiaonuo@192.168.100.102::viewacl 同步的用户为xiaonuo,标签为 viewacl
/var/named/view/acl 同步到客户端的目录
为了后期方便操作,这里创建了一个脚本,后期运行脚本即可。
创建任务计划,设置每一分钟运行一次脚本,生产环境中根据实际情况定具体的运行时间。
四、 实验结果
模拟修改服务器端cfg文件,修改完成后,文件日期会自动更改为当前日期。
通过监听服务器端日志文件查看是否同步成功
通过查看客户端是否同步成功。
关于客户端文件解析,不做测试。
本文转自凌激冰51CTO博客,原文链接:http://blog.51cto.com/dreamfire/1133196,如需转载请自行联系原作者