RHEL7构建Rsync数据同步服务器


Rsync(remote sync)是UNIX及类UNIX平台下一款神奇的数据镜像备份软件,它不像FTP或其余文件传输服务那样须要进行全备份,Rsync能够根据数据的变化进行差别备份,从而减小数据流量,提升工做效率。你可使用它进行本地数据或远程数据的复制,Rsync可使用SSH安全隧道进行加密数据传输。Rsync服务器端定义源数据,Rsync客户端仅在源数据发生改变后才会从服务器上实际复制数据至本地,若是源数据在服务器端被删除,则客户端数据也会被删除,以确保主机之间的数据是同步的。Rsync使用TCP 873端口。vim

wKioL1k_9ybgigKwAADF-r8pFbY850.png

       使用CentOS 7系统安装部署Rsync很是方便,安装光盘以及YUM源中都提供了rsync软件包,使用YUM方式安装便可。下面的案例演示了如何共享/common目录,为此,咱们须要建立/common目录,并复制一些测试文件存放在该目录下。本例须要手动建立配置文件/etc/rsync.conf,该文件具体的语法格式在后面有详细的描述。centos

[root@centos7 ~]# yum -y install rsync安全

[root@centos7 ~]# mkdir /common; cp /etc/init.d/* /common/bash

[root@centos7 ~]# vim /etc/rsync.conf服务器

#/etc/rsyncd.conf
#设置服务器信息提示文件名称,在该文件中编写提示信息
motd file = /etc/rsyncd.motd
#开启Rsync数据传输日志功能
transfer logging = yes
#设置日志文件名称,能够经过log format参数设置日志格式
log file =/var/log/rsyncd.log
#设置Rsync进程号保存文件名称
pid file =/var/run/rsyncd.pid
#设置锁文件名称
lock file =/var/run/rsync.lock
#设置服务器监听的端口号,默认为873
port = 873
#设置服务器所监听网卡接口的IP地址,这里服务器IP地址为192.168.0.254
address = 192.168.0.254
#设置进行数据传输时所使用的帐户名称或ID号,默认使用nobody
uid = nobody
#设置进行数据传输时所使用的组名称或GID号,默认使用nobody
gid = nobody
#设置user chroot为yes后,rsync会首先进行chroot设置,将根映射到path参数路径下,对客户
#端而言,系统的根就是path参数所指定的路径。但这样作须要root权限,而且在同步符号
#链接资料时仅会同步名称,而内容将不会同步。
use chroot = no
#是否容许客户端上传数据,这里设置为只读。
read only = yes
#设置并发链接数,0表明无限制。超出并发数后,若是依然有客户端链接请求,则将会收
#到稍后重试的提示消息
max connections = 10
#模块,Rsync经过模块定义同步的目录,模块以[name]的形式定义,这与Samba定义共
#享目录是同样的效果。在Rsync中也能够定义多个模块
[common]
#comment定义注释说明字串
comment = Web content
#同步目录的真实路径经过path指定
path = /common
#忽略一些IO错误
ignore errors
#exclude能够指定例外的目录,即将common目录下的某个目录设置为不一样步数据
#exclude = test/
#设置容许链接服务器的帐户,帐户能够是系统中不存在的用户
auth users = tom,jerry
#设置密码验证文件名称,注意该文件的权限要求为只读,建议权限为600,仅在设置auth users
#参数后有效
secrets file = /etc/rsyncd.secrets
#设置容许哪些主机能够同步数据,能够是单个IP,也能够是网段,多个IP与网段之间使用空
#格分隔
hosts allow=192.168.0.0/255.255.255.0
#设置拒绝全部(除hosts allow定义的主机外)
hosts deny=*
#客户端请求显示模块列表时,本模块名称是否显示,默认为true
list= false

       接下来,经过echo的方式建立密码文件/etc/rsyncd.secrets,在该文件中输入两个帐户:tom帐户的密码是pass,jerry帐户的密码是111。须要注意的是,密码文件不能够对全部的人开放可读权限,为了安全,建议设置权限为600。建立服务器提示信息文件并向该文件中导入欢迎词。因为Rsync默认不是开机启动服务,为了实现开机启动Rsync服务,咱们能够经过echo将rsync --daemon追加至开机启动文件/etc/rc.local。最后经过设置防火墙开启873端口的入站数据请求。并发

[root@centos7 ~]# echo "tom:pass" > /etc/rsyncd.secretstcp

[root@centos7 ~]# echo "jerry:111" >> /etc/rsyncd.secretside

[root@centos7 ~]# chmod 600 /etc/rsyncd.secrets测试

[root@centos7 ~]# echo “welcome to access” >/etc/rsyncd.motdui

[root@centos7 ~]# rsync --daemon

[root@centos7 ~]# echo “/usr/bin/rsync --daemon” >> /etc/rc.local

[root@centos7 ~]# firewall-cmd --permanent --add-port=873/tcp

#添加防火墙规则,容许873端口的数据访问

客户端同步数据

       如今让咱们开始同步数据吧,在客户端主机中一样是使用rsync命令进行初始化数据传输,使用一样的程序,但客户端主机不须要--daemon选项。

[root@centos7 ~]# yum -y install rsync

[root@centos7 ~]# rsync-vzrtopg --progress tom@192.168.0.254::common /test

相关文章
相关标签/搜索