一、Slave服务器配置

1.在Slave服务器上安装Rsync


[root@slave ~]# rpm -ivh rsync-3.1.2-11.el7_9.x86_64.rpm
###rpm 自行下载

2.在Slave服务器上配置rsync

[root@slave ~]# vim /etc/rsyncd.conf

log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
[server]
path=/root/test
use chroot=true
max connections=4
read only=no
list=true
uid=root                                                                      
gid=root
auth users=root
secrets file=/etc/rsync.password
hosts allow=X.X.X.X

# 配置注解:
# uid:指定传输文件时的用户
# gid:指定传输文件时的组
# use chroot true|false:表示在传输文件前首先chroot到path参数所指定的目录下,可以实现安全防护,但缺点是需要以root权限,并且不能备份指向外部的符号连接所指向的目录文件,默认情况下chroot值为true
# max connections:指定最大的连接数,默认是0,即没有限制
# read only ture|false:如果为true,则不能上传到该模块指定的路径下
# list:表示当用户查询该服务器上的可用模块时,该模块是否被列出,true为列出,false为隐藏
# auth users:指定传输时要使用的用户名
# secrets file:指定密码文件,注意该密码文件的权限一定要是600,格式:用户名:密码
# hosts allow:是允许同步的主机,可以是IP或者网段,如果是多个中间用空格隔开
# hosts deny:拒绝同步的主机,可以是IP或者网段,如果是多个中间用空格隔开
# [server]:同步的模块名
# path:同步的路径

3.创建同步的用户与密码的文件

即rsyncd.conf中secrets file这个配置选项中的文件/etc/rsync.password,同进要设置rsync.password的权限为600

[root@slave ~]# echo "root:123456" >/etc/rsync.password
[root@slave ~]# chmod 600 /etc/rsync.password

4.创建同步的目录

即rsyncd.conf中path配置选项中的目录

[root@slave ~]# mkdir -p /root/test

5.启动守护进程,并写入开机自启动

[root@slave ~]# rsync --daemon --config=/etc/rsyncd.conf
[root@slave ~]# echo "rsync --daemon --config=/etc/rsyncd.conf" >>/etc/rc.local
[root@slave ~]# chmod +x /etc/rc.d/rc.local
[root@slave ~]# tail -1 /etc/rc.local
[root@slave ~]# reboot
[root@slave ~]# systemctl status rc-local.service
[root@slave ~]# netstat -ntlp | grep rsync

二、Master服务器配置

1.在Master安装rsync

[root@slave ~]# rpm -ivh rsync-3.1.2-11.el7_9.x86_64.rpm

2.首先创建master端的密码验证文件,同进要设置rsync.password的权限为600

[root@master ~]# echo "123456" >/etc/rsync.password
[root@master ~]# chmod 600 /etc/rsync.password

4.部署sersync

[root@master ~]# mkdir /usr/local/sersync/
[root@master ~]# mkdir /usr/local/sersync/bin
[root@master ~]# mkdir /usr/local/sersync/conf
[root@master ~]# mkdir /usr/local/sersync/logs
[root@master ~]# cd /usr/local/sersync
将sersync程序包导入此文件夹 sersync2.5.4_64bit_binary_stable_final.tar.gz
[root@master sersync]# tar xvf sersync2.5.4_64bit_binary_stable_final.tar.gz
[root@master sersync]# mv GNU-Linux-x86/sersync2 ./bin/sersync
[root@master sersync]# mv GNU-Linux-x86/confxml.xml ./conf/
[root@master conf]# cp confxml.xml confxml.xml.bak

5.修改config.xml文件,建议拷贝一份在修改,需要把监控的目录数据同步到master指定的模块下,前面写了slave的模块名是server对应的目录是:/server/

[root@master sersync]# vim conf/confxml.xml
# 如果系统linux7以上,需要将xfs="false"修改成xfs="true",否则sersync无法递归监控
<fileSystem xfs="true"/>
<localpath watch="/root/test">
<remote ip="10.8.5.42" name="server"/>
</localpath>
# 指定rsync的虚拟用户和密码文件路径
<rsync>
<commonParams params="-artuz"/>
<auth start="true" users="root" passwordfile="/etc/rsync.password"/>
<userDefinedPort start="false" port="874"/><!-- port=874 -->
<timeout start="false" time="100"/><!-- timeout=100 -->
<ssh start="false"/>
</rsync>
[root@master sersync]# echo "export PATH=$PATH:/usr/local/sersync/bin/" >>/etc/profile
[root@master sersync]# source /etc/profile
[root@master sersync]# which sersync

6.启动sersync

[root@master sersync]# sersync -d -r -o /usr/local/sersync/conf/confxml.xml
# 参数注解:
# -d:启用守护进程模式
# -r:在监控前,将监控目录与远程主机用rsync命令推送一遍
# -o:指定配置文件,默认使用confxml.xml文件

7.测试同步,在master服务器需要同步的目录下创建文件及目录

[root@master sersync]# cd /root/gckj/
[root@master sersync]# mkdir note
[root@slave backup]# ls

8.加入开机启动项,重启服务器查看

[root@master ~]# ln -s  /usr/local/sersync/bin/sersync /usr/local/bin/sersync
[root@master ~]# echo "sersync -d -r -o /usr/local/sersync/conf/confxml.xml" >>/etc/rc.local
[root@master ~]# chmod +x /etc/rc.d/rc.local
[root@master ~]# systemctl status rc-local.service
[root@master ~]# tail -1 /etc/rc.local
[root@slave ~]# reboot

9.加入开机启动后测试同步,在master增加、删除、修改文件及目录,查看slave是否实时同步


[root@master sersync]# cd /root/test/

[root@master sersync]# mkdir note

[root@slave backup]# ls
 

Linux数据实时同步(sersync+rsync)的更多相关文章

  1. CentOS 6.5 rsync+inotify实现数据实时同步备份

    CentOS 6.5 rsync+inotify实现数据实时同步备份 rsync    remote sync 远程同步,同步是把数据从缓冲区同步到磁盘上去的.数据在内存缓存区完成之后还没有写入到磁盘 ...

  2. Linux下Rsync+sersync实现数据实时同步

    inotify 的同步备份机制有着缺点,于是看了sersync同步,弥补了rsync的缺点.以下转自:http://www.osyunwei.com/archives/7447.html 前言: 一. ...

  3. Rsync+sersync实现数据实时同步

    前言: 一.为什么要用Rsync+sersync架构? 1.sersync是基于Inotify开发的,类似于Inotify-tools的工具 2.sersync可以记录下被监听目录中发生变化的(包括增 ...

  4. Linux下Rsync+Inotify-tools实现数据实时同步

    Linux下Rsync+Inotify-tools实现数据实时同步 注意:下面的三个案例都是rsync 每次都是全量的同步(这就坑爹了),而且 file列表是循环形式触发rsync ,等于有10个文件 ...

  5. CentOS7下Rsync+sersync实现数据实时同步

    近期公司要上线新项目,后台框架选型我选择当前较为流行的laravel,运行环境使用lnmp. 之前我这边项目tp32+apache,开发工具使用phpstorm. 新建/编辑文件通过phpstorm配 ...

  6. (转)Linux系统sersync数据实时同步

    Linux系统sersync数据实时同步 原文:http://blog.csdn.net/mingongge/article/details/52985259 前面介绍了以守护进程的方式传输或同步数据 ...

  7. Rsync+Sersync数据实时同步(双向)

    Rsync+Sersync数据实时同步(双向) 服务介绍 一.为什么要用rsync+sersync架构? 1.sersync是基于inotify开发的,类似于inotify-tools的工具 2.se ...

  8. 项目实战:rsync+sersync实现数据实时同步

    一.组网介绍 本次实验使用两台主机: qll251 角色:Rsync server + Sersync server qll252 角色: Rsync client 本次实验采用CentOS7.7系统 ...

  9. sersync基于rsync+inotify实现数据实时同步

    一.环境描述 需求:服务器A与服务器B为主备服务模式,需要保持文件一致性,现采用sersync基于rsync+inotify实现数据实时同步 主服务器A:192.168.1.23 从服务器B:192. ...

  10. Linux之sersync数据实时同步

    sersync其实是利用inotify和rsync两种软件技术来实现数据实时同步功能的,inotify是用于监听sersync所在服务器上的文件变化,结合rsync软件来进行数据同步,将数据实时同步给 ...

随机推荐

  1. 配置php-fpm识别php文件访问

    以前是装的集成环境,没有想到装完Nginx + PHP + MySQL 启动nginx 服务,出现页面: 如果访问120.25.216.6/index.php 就会变成下载 之所以会这样是因为2个原因 ...

  2. m3u8文件后缀jpg,png等处理方法及视频合并

    处理 # 解析伪装成png的ts def resolve_ts(src_path, dst_path): ''' 如果m3u8返回的ts文件地址为 https://p1.eckwai.com/ufil ...

  3. 重学c#系列—— 反射的基本理解[三十三]

    前言 在上一章中介绍了什么是反射: https://www.cnblogs.com/aoximin/p/16440966.html 正文 上一节讲述反射的基本原理和为什么要用反射,还用反射的优缺点这些 ...

  4. 时钟同步服务器ntp安装文档

    应用场景 同步时钟很有必要,如果服务器的时间差过大会出现不必要的问题 大数据产生与处理系统是各种计算设备集群的,计算设备将统一.同步的标准时间用于记录各种事件发生时序, 如E-MAIL信息.文件创建和 ...

  5. day05-Vue02

    Vue02 7.修饰符 7.1基本说明 修饰符(Modifiers)是以.指明的后缀,指出某个指令以特殊方式绑定 官方文档:修饰符 Vue中的修饰符有: 事件修饰符 按键修饰符 系统修饰符 事件修饰符 ...

  6. [LeetCode]最大连续1的个数

    题目 代码 class Solution { public: int findMaxConsecutiveOnes(vector<int>& nums) { int length= ...

  7. [cocos2d-x]从源码角度思考convertToWorldSpace()与convertToWorldSpaceAR()坐标系的转换

    convertToWorldSpace() 话不多说,先上源码,之后再慢慢讲解: (5和6图截图的时候重复了,这里就不弄出来了) 只要通过图1到图8中我写的注释进行分析(不懂的地方可以自己去翻一下co ...

  8. SICP:复数的直角和极坐标的表示(Python实现)

    绪论 我们已经介绍过数据抽象,这是一种构造系统的方法学,它能够使程序中的大部分描述与其所操作的数据对象的具体表示无关,比如一个有理数程序的设计与有理数的实现相分离.这里的关键是构筑数据抽象屏障--在有 ...

  9. DOM的操作(增删改查)

    操作DOM的核心就是增删改查 目录 一.节点创建型API 1.1 createElement 1.2 createTextNode 1.3 cloneNode 1.4 createDocumentFr ...

  10. 听说你想用免费的FOFA?

    非付费会员,fofa数据无限抓取版,配置普通用户cookie即可使用 FOFA的采集工具都陆续转变成了通过官方的API接口进行获取,例如狼组的fofa_viewer 蒽,好像已经没有我这种老年人的生存 ...