Rsync+sersync实现数据实时同步-190315

* 不更改用户、属组,对某个目录添加单独一个用户的权限

setfacl -R -m user:用户名:权限(r、w、x) 目录路径


准备环境:rsync服务端(提供同步源文件的服务器192.168.2.100)

                    rsync客户端(将服务端的文件同步至本服务器192.168.2.102)


一、系统用户备份数据


1.分别在rsync的客户端与服务端安装xinetd与rsync服务


yum install -y xinetd rsync


2.关闭防火墙与selinux

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

setenforce 0 #临时关闭selinux

vim /etc/selinux/config修改SELINUX的值为disabled,reboot重启生效 #永久关闭selinux

getenforce #查看selinux状态

#将rsync服务端的/var/www/html/ 目录下文件同步至rsync客户端的/web-back目录下

4.在rsync服务端与rsync客户端分别建立系统用户进行测试

useradd rsync && echo "123456" | passwd --stdin rsync

5.赋予/var/www/html/目录的读、写、执行权限给raync测试用户:rsync   #即对目录赋予ACL权限

setfacl -R -m user:rsync:rwx /var/www/html

setfacl -R -m default:rsync:rwx /var/www/html/

getfacl /var/www/html   #查看权限是否赋予成功

6.在rsync服务端(192.168.2.100)创建测试数据

cp -r /boot/* /var/www/html/

7.修改rsync客户端(192.168.2.102)对应的同步目录权限

chown rsync:rsync /web-back

8.启动rsync服务(服务端与客户端均要启动rsync服务)

rsync --daemon

netstat -antup | grep 873  #查看rsync服务的监听端口是否开启

9.开始进行数据同步操作

rsync -avz /var/www/html/ rsync@192.168.2.102:/web-back  #在rsync服务端(192.168.2.100)执行

10. 查看rsync客户端数据是否已经同步

ll  /web-back  #对应同步目录存在数据-同步成功;对应目录不存在数据,同步失败


二、非系统用户备份数据

1.在rsync服务端启动xinetd、rsync服务即可

systemctl start xinetd

rsync --daemon

2.在rsync客户端端编辑rsync配置文件

vim /etc/rsyncd.conf添加以下内容保存退出

uid = root                         #运行进程的身份

gid = root                         #运行进程的组

use chroot = yes                   #是否锁定家目录

max connections = 100           #最大连接数

timeout = 600                    #超时时间

log file = /var/log/rsyncd.log     #日志文件

ignore errors                     #忽略错误

read only = false                  #设置服务端文件读写权限

list = false                        #不显示服务端资源列表

hosts allow = 192.168.2.0/24    #*代表所有,允许哪些网段连接。即网络限制

hosts deny = 0.0.0.0/32

auth users = lzhrsync  #指定用户备份的用户名

secrets file = /etc/rsync.password #指定用户的密码文件的路径

[www]  #模块名

comment = www #连接的模块

path = /web-bak #客户端的监听目录

3.在rsync客户端创建密码文件

vim /etc/rsyncd.password添加

用户名:密码

lzhrsync:123456

chmod 600 /etc/rsyncd.password

4.开始以非系统用户进行同步数据

rsync -avz /var/www/html/ lzhrsync@192.168.2.102::www #在rsync服务端执行,www是对应的模块名字

输入lzhrsync用户密码,开始数据同步

或者在rsync服务端创建密码认证文件

echo "123456" >> /etc/rsyncd.pass

chmod 600 /etc/rsyncd.pass

rsync -avz /var/www/html/ lzhrsync@192.168.2.102::www --password-file=/etc/rsyncd.pass

5.在rsync客户端查看数据是否同步成功

ll  /web-back  #对应同步目录存在数据-同步成功;对应目录不存在数据,同步失败

三、sersync+rsync自动同步

1.将sersync包上传至rsync服务端(192.168.2.100)

2.解压sersync包

mkdir -p /usr/local/sersync

tar -zxvf sersync包名 -C /usr/local/sersync

3.修改sersync的配置文件

vim /usr/local/sersync/confxml.xml #  修改24--28行,修改31--34行,认证部分【rsync密码认证】

24         <localpath watch="/var/www/html">     #本地同步目录

 25             <remote ip="192.168.2.102" name="www"/>    ##客户端ip与rsync模块名称

 26             <!--<remote ip="192.168.8.39" name="tongbu"/>-->

 27             <!--<remote ip="192.168.8.40" name="tongbu"/>-->

 28         </localpath>

 29         <rsync>

 30             <commonParams params="-artuz"/>

 31             <auth start="true" users="lzhrsync" passwordfile="/etc/rsync.passwd"/>  #rsync服务端密码认证文件路径(该文件只包含指定users用户的密码即可)

 32             <userDefinedPort start="false" port="874"/><!-- port=874 -->

 33             <timeout start="false" time="100"/><!-- timeout=100 -->

 34             <ssh start="false"/>

4.启动sersync

/usr/local/sersync/sersync2 -d -r -o /usr/local/sersync/confxml.xml

5.在监听目录/var/www/html/下创建新文件进行测试

touch 11 22 33 44

6.在rsync客户端查看/web-back /目录下是否存在 11 22 33 44 文件。存在则数据自动同步成功;否则,数据自动同步失败

注:搭建sersync+rsync后发现服务端与客户端之间数据无法自动同步

        解决:1.查看服务端是否创建密码认证文件

           2.查看服务端的sersync的配置文件中的31行“passwordfile=”密码认证文件的路径是否有错

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 4层负载均衡和7层负载均衡的区别。A、rsync的安装;软件包安装# yum install rsync 注...
    米开朗基乐阅读 3,693评论 0 1
  • 测试环境: rsync-server:192.168.1.132 rsync-client:192.168.1.2...
    lailai900201阅读 2,383评论 0 10
  • 转载:https://www.cnblogs.com/liangml/p/5959571.html 一.为什么要用...
    SkTj阅读 1,508评论 0 1
  • 练科二有半个多月了,由于前期倒车入库教练教的从倒视镜看点,没有看准,在倒车入库这里练的太久了,和我一批的学员都倒车...
    小县城生活日记阅读 384评论 0 2
  • 我们这一生,会遇到很多很多的人,我们不可能每个都在维持着联系,留有一个联系方式,以备不时之需也好,心里念旧舍不...
    Amy_zx阅读 241评论 0 3