一,查看本地centos的版本:

  1. [root@localhost lib]# cat /etc/redhat-release
  2. CentOS Linux release 8.1.1911 (Core)

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,查看内核是否支持inotify

  1. [root@localhost nfs]# ll /proc/sys/fs/inotify/
  2. 总用量 0
  3. -rw-r--r-- 1 root root 0 2 24 15:01 max_queued_events
  4. -rw-r--r-- 1 root root 0 2 24 15:01 max_user_instances
  5. -rw-r--r-- 1 root root 0 2 24 13:20 max_user_watches

说明:看到列出的三个文件,说明系统内核支持inotify

说明:sersync是基于inotify的,所以需要这个功能模块的支持

三,配置inotify参数,避免因限制导致出错

查看inotify相关的三个值:

分别为:队列中event的长度,用户可监控数量的多少,用户可使用的实例数量

  1. [root@localhost nfs]# sysctl -a | grep max_queued_events
  2. fs.inotify.max_queued_events = 16384
  3. [root@localhost nfs]# sysctl -a | grep max_user_watches
  4. fs.inotify.max_user_watches = 8192
  5. [root@localhost nfs]# sysctl -a | grep max_user_instances
  6. fs.inotify.max_user_instances = 128

修改:

  1. [root@localhost source]# sysctl -w fs.inotify.max_queued_events="327679"
  2. fs.inotify.max_queued_events = 327679
  3. [root@localhost source]# sysctl -w fs.inotify.max_user_watches="50000000"
  4. fs.inotify.max_user_watches = 50000000
  5. [root@localhost source]# sysctl -w fs.inotify.max_user_instances="65535"
  6. fs.inotify.max_user_instances = 65535
  7. [root@localhost source]# sysctl -p

四,下载安装sersync

1,下载地址

说明:官方地址:

  1. https://sersync.googlecode.com/files/sersync2.5.4_64bit_binary_stable_final.tar.gz

在墙外打不开,大家可以访问下面github上面的地址:

  1. https://github.com/wsgzao/sersync

2,下载及解压:

  1. [root@localhost source]# wget https://codeload.github.com/wsgzao/sersync/zip/master
  2. [root@localhost source]# mv master master.zip
  3. [root@localhost source]# unzip master.zip

3,安装到soft目录

  1. [root@localhost source]# cd sersync-master/
  2. [root@localhost sersync-master]# ls
  3. inotify-tools-3.14.tar.gz README.md rsync-3.1.1.tar.gz sersync2.5.4_64bit_binary_stable_final.tar.gz
  4. [root@localhost sersync-master]# tar -zxvf sersync2.5.4_64bit_binary_stable_final.tar.gz
  5. [root@localhost sersync-master]# mv GNU-Linux-x86/ /usr/local/soft/sersync2

五,查看sersync的帮助信息

  1. [root@localhost sersync-master]# /usr/local/soft/sersync2/sersync2 -help

六,sersync的参数说明:

  1. 参数-d:启用守护进程模式
  2. 参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍
  3. 参数-n: 指定开启守护线程的数量,默认为10
  4. 参数-o:指定配置文件,默认使用confxml.xml文件

七,sersync的配置:

1,inotify项的配置建议:说明:是使用inotify监控的类型:

  1. <inotify>
  2. <delete start="true"/>
  3. <createFolder start="true"/>
  4. <createFile start="true"/>
  5. <closeWrite start="true"/>
  6. <moveFrom start="true"/>
  7. <moveTo start="true"/>
  8. <attrib start="false"/>
  9. <modify start="true"/>
  10. </inotify>

2,localpath:

  1. <localpath watch="/data/nfs/source">
  2. <remote ip="127.0.0.1" name="wwwroot"/>
  3. <!--<remote ip="192.168.8.39" name="tongbu"/>-->
  4. <!--<remote ip="192.168.8.40" name="tongbu"/>-->
  5. </localpath>

说明:

/data/nfs/source是本地要监控的目录

remote 对应服务的ip和name

3,rsync的配置

  1. <rsync>
  2. <commonParams params="-artuz"/>
  3. <auth start="true" users="pusher" passwordfile="/data/rsync/conf/client.pass"/>
  4. <userDefinedPort start="false" port="874"/><!-- port=874 -->
  5. <timeout start="false" time="100"/><!-- timeout=100 -->
  6. <ssh start="false"/>
  7. </rsync>

4,说明:其他的设置项不必改动

八,运行sersync

  1. [root@localhost liuhongdi]# /usr/local/soft/sersync2/sersync2 -r -d -o /usr/local/soft/sersync2/confxml.xml

九,关于rsync服务的搭建:参见这一篇:

  1. https://www.cnblogs.com/architectforest/p/12360875.html

十,sersync的日志位于何处?

  1. [root@localhost liuhongdi]# more /tmp/rsync_fail_log.sh
  2. #errno 2560
  3. cd /data/nfs/source && rsync -artuz -R "./abc.txt" pusher@127.0.0.1::wwwroot --password-file=/data/rsync/conf/client.pass >/dev/null 2>&1

十一,测试本地两个目录的同步情况:

1,   /data/nfs/source这个目录是sersync监控的目录

  1. [root@localhost source]# pwd
  2. /data/nfs/source
  3. [root@localhost source]# vi rand.txt
  4. [root@localhost source]# more rand.txt
  5. rand

2,/data/nfs/dest 是rsync服务中wwwroot这个区域指定的目录

  1. [root@localhost dest]# pwd
  2. /data/nfs/dest
  3. [root@localhost dest]# more rand.txt
  4. rand

说明:在监控目录中增加文件后,rsync同步的目录中文件也立即出现,且内容相同

所以sersync很适合做文件备份

centos8安装sersync为rsync实现实时同步的更多相关文章

  1. 【转】inotify+rsync实现实时同步

    [转]inotify+rsync实现实时同步 1.1 什么是实时同步:如何实现实时同步 要利用监控服务(inotify),监控同步数据服务器目录中信息的变化 发现目录中数据产生变化,就利用rsync服 ...

  2. rsync nfs 实时同步,结合实战

    目录 rsync nfs 实时同步,实战 一.部署rsync服务端(backup) 二.部署rsync客户端(nfs,web01) 三.部署web代码(web01) 四.NFS服务端部署(nfs) 五 ...

  3. rsync+inotify实时同步环境部署记录

    随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足.首先,rsync在同步数据时,需要扫描所有文件后进行比对,进行差量传输.如果文件 ...

  4. rsync+inotify实时同步方案

    rsync+inotify实时同步,inotify可以实时监控本地文件或目录变化,当检测到本地文件变化,执行rsync同步命令,将变化的文件同步到其他服务器节点. 1.配置环境 3.在服务节点1.服务 ...

  5. CentOS6.5实现rsync+inotify实时同步

    参考博文: 参考1:CentOS6.5实现rsync+inotify实时同步 参考2:inotify-tools+rsync实时同步文件安装和配置 CentOS 6.3下rsync服务器的安装与配置  ...

  6. Rsync同步、Rsync+Lsync实时同步

    Rsync同步.Rsync+Lsync实时同步 原创博文http://www.cnblogs.com/elvi/p/7658049.html #!/bin/sh #Myde by Elven @ #c ...

  7. 配置rsync+inotify实时同步

    与上一篇同步做 配置rsync+inotify实时同步 1:调整inotify内核参数 在linux内核中,默认的inotify机制提供三个调控参数:max_queue_events.max_user ...

  8. (转)rsync+inotify实时同步

    原文:http://lxw66.blog.51cto.com/5547576/1331048 声明:rsync inotify 需要逆向思考,当只做rsync不实时同步时,我们一般是从rsync服务端 ...

  9. linux设置rsync+inotify实时同步文件

    linux设置rsync+inotify实时同步文件   应用场景: 同步接收方:test01 接收目录:/opt/software/test/a/ 同步发起方:test02 同步目录:/opt/so ...

随机推荐

  1. 架构设计 | 基于Seata中间件,微服务模式下事务管理

    源码地址:GitHub·点这里 || GitEE·点这里 一.Seata简介 1.Seata组件 Seata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务.Seata将为用 ...

  2. python3 变量

    python 3变量名不能以数字开头但能数字结尾 变量名大小写敏感 在多个单词组成的变量名中以下划线间隔

  3. spring官网在线学习文档翻译

    Core Technologies (核心技术) Version 5.0.8.RELEASE 版本5.0.8RELEASE This part of the reference documentati ...

  4. [LeetCode]69. x 的平方根(数学,二分)

    题目 https://leetcode-cn.com/problems/sqrtx 题解 方法一:牛顿迭代法 按点斜式求出直线方程(即过点Xn,f(Xn)),然后求出直线与x轴交点,即为Xn+1: 求 ...

  5. 我的Python自学之路-003 字符串的知识

    '''字符串是以引号或者单引号括起来的任意文本,例如"123","asdfjk",'adfa'引号或者单引号,只是一种表示方法,并不是字符串的一部分如果字符串本 ...

  6. 分布式系统监视zabbix讲解八之自动发现/自动注册

    自动发现(LLD) 概述 自动发现(LLD)提供了一种在计算机上为不同实体自动创建监控项,触发器和图形的方法.例如,Zabbix可以在你的机器上自动开始监控文件系统或网络接口,而无需为每个文件系统或网 ...

  7. 分布式系统监视zabbix讲解六之自定义监控项

    概述 Zabbix支持许多在多种情况下使用宏.宏是一个变量,由如下特殊语法标识: {MACRO} 根据在上下文中, 宏解析为一个特殊的值. 有效地使用宏可以节省时间,并使Zabbix变地更加高效. 在 ...

  8. Vue iview Tree组件实现文件目录-基础实现

    注册页面路由 router/router.js { path: 'folder_tree', name: 'folderTree', component: () => import('@/vie ...

  9. Centos 7 redis、tomcat、Spring Boot添加开机自启服务

    一.redis添加开机自启 1.添加服务配置文件 [root@test system]# vim /etc/systemd/system/redis-server.service 2.服务配置文件内容 ...

  10. 《Java从入门到失业》第四章:类和对象(4.3):一个完整的例子带你深入类和对象

    4.3一个完整的例子带你深入类和对象 到此为止,我们基本掌握了类和对象的基础知识,并且还学会了String类的基本使用,下面我想用一个实际的小例子,逐步来讨论类和对象的一些其他知识点. 4.3.1需求 ...