Sersync+Rsync 增量实时同步
准备环境:
rsync服务器:172.16.3.21
sersync2服务器:172.16.3.23
一、 rsync服务器
先把原来的rsync包删掉yum remove rsync-2.6.8-3.1 -y,
然后到http://rsync.samba.org/下载rsync包我用的包如下图所示
利用securecrt上传本地
[root@acong tongbu1]# cd /home/lincong/tools/
[root@acong tools]# ll
total 52084
drwxr-xr-x 19 root root 4096 Sep 20 2006 linux-2.6.18
-rw-r--r-- 1 root root 52467340 Aug 2 14:15 linux-2.6.18.tar.gz
drwxrwxr-x 10 root root 4096 Aug 2 23:36 rsync-3.0.9
-rw-r--r-- 1 root root 792725 Aug 2 15:34 rsync-3.0.9.tar.gz
[root@acong tools]# tar zxf rsync-3.0.9.tar.gz ##解压
[root@acong tools]# cd rsync-3.0.9 ##进入目录
[root@acong tools]# ./configure --prefix=/usr
[root@acong tools]# make && make install ##编译安装
[root@acong tools]# mkdir -p /opt/tongbu1
[root@acong tools]# vim /etc/rsyncd.conf
uid=root
gid=root
max connections=36000
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
[tongbu1] ##模块
path=/opt/tongbu1 ##推送目录
comment = xoyo video files
ignore errors = yes
read only = no
hosts allow = 172.16.3.0/24
hosts deny = *
[root@acong tools]# rsync --daemon
[root@acong tools]# netstat -npl|grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 6509/rsync
tcp 0 0 :::873 :::* LISTEN 6509/rsync
- 二、 sersync2服务器:
- 这里有两个连接一个是针对64位的,一个是32位的,所以一定要选好否则后面出错了你排查不到原因,所以在这里叮嘱一下。
- wget http://sersync.googlecode.com/files/sersync2.5_64bit_binary_stable_final.tar.gz
- wget http://sersync.googlecode.com/files/sersync2.5_32bit_binary_stable_final.tar.gz
[root@acong tools]# tar zxf sersync2.5_32bit_binary_stable_final.tar.gz
[root@acong tools]# cd GNU-Linux-x86/
[root@acong GNU-Linux-x86]# ll
total 1496
-rwxr-xr-x 1 root root 2217 Aug 3 00:56 confxml.xml
-rwxr-xr-x 1 root root 1520176 Jul 4 2010 sersync2
[root@acong GNU-Linux-x86]# vim confxml.xml ##找到一下模块
<sersync>
<localpath watch="/opt/tongbu1">
<remote ip="172.16.3.21" name="tongbu1"/>
## 指定 rsyncd 服务器的地址和备份的模块名称
<!--<remote ip="192.168.8.39" name="tongbu"/>-->
<!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>
<rsync>
<commonParams params="-artuz"/>
<auth start="false" users="root" passwordfile="/etc/rsync.pas"/>
<userDefinedPort start="false" port="874"/><!-- port=874 -->
<timeout start="false" time="100"/><!-- timeout=100 -->
<ssh start="false"/>
</rsync>
<failLog path="/var/log/rsync_fail.log" timeToExecute="60"/><!--default every 60mins execute once--> ##也可以把log文件指定到你熟悉的位置
[root@acong GNU-Linux-x86]# mkdir /opt/tongbu1 -p 建立目录
[root@acong GNU-Linux-x86]# cd /opt/tongbu1/
[root@liyao GNU-Linux-x86]# mkdir /etc/sersync2
[root@liyao GNU-Linux-x86]# cp confxml.xml /etc/sersync2/
[root@liyao GNU-Linux-x86]# cp sersync2 /usr/bin/
[root@rrd ~]# sersync2 -r -d -o /etc/sersync2/confxml.xml
set the system param
execute:echo 50000000 > /proc/sys/fs/inotify/max_user_watches
execute:echo 327679 > /proc/sys/fs/inotify/max_queued_events
parse the command param
option: -r rsync all the local files to the remote servers before the sersync work
option: -d run as a daemon
option: -o config xml name: /etc/sersync2/confxml.xml
daemon thread num: 10
parse xml config file
host ip : localhost host port: 8008
daemon start,sersync run behind the console
config xml parse success
please set /etc/rsyncd.conf max connections=0 Manually
sersync working thread 12 = 1(primary thread) + 1(fail retry thread) + 10(daemon sub threads)
Max threads numbers is: 22 = 12(Thread pool nums) + 10(Sub threads)
please according your cpu ,use -n param to adjust the cpu rate
------------------------------------------
rsync the directory recursivly to the remote servers once
working please wait...
execute command: cd /opt/tongbu1 && rsync -artuz -R --delete ./ 172.16.0.26::tongbu1 >/dev/null 2>&1
run the sersync:
watch path is: /opt/tongbu1
- #############################
- 测试1:sersync端
- 在sersync端新建一个文件,看rsync端否同步
- [root@acong tongbu1]# touch test.sh
- [root@acong tongbu1]# ll
- total 0
- -rw-r--r-- 1 root root 0 Aug 3 03:04 test.sh
- 查看下rsync端
- [root@acong tongbu1]# ll
- total 0
- -rw-r--r-- 1 root root 0 Aug 3 03:04 test.sh
- 结论:成功!
- #############################
- 测试2:在sersync端先删除刚才建立的test.sh,在建立一个acong.sh
- [root@acong tongbu1]# touch acong.sh
- [root@acong tongbu1]# ll
- total 0
- -rw-r--r-- 1 root root 0 Aug 3 03:09 acong.sh ##只有这一个文件
- 查看下rsync端
- [root@acong tongbu1]# ll
- total 0
- -rw-r--r-- 1 root root 0 Aug 3 03:09 acong.sh ##也是一样的
- 结论:成功!
- #############################
- 测试3:在rsync端建立文件,sersync端是否能一样呢
- [root@acong tongbu1]# touch xiaolin
- [root@acong tongbu1]# ll
- total 0
- -rw-r--r-- 1 root root 0 Aug 3 03:09 acong.sh
- -rw-r--r-- 1 root root 0 Aug 3 03:11 xiaolin
- [root@acong tongbu1]# ll
- total 0
- -rw-r--r-- 1 root root 0 Aug 3 03:09 acong.sh
- 结论:不成功,因为毕竟不是互为同步的。
- #############################
通过以上配置可以实现对目录的监控,以及实时的进行增量的数据同步。
转载于:https://blog.51cto.com/learon/980729
Sersync+Rsync 增量实时同步相关推荐
- sersync+rsync做实时同步
(1).实验环境 源主机:youxi1 192.168.5.101 目的主机:youxi2 192.168.5.102 目的:实时同步数据 sersync默认端口874,rsync默认端口873 (2 ...
- sersync+rsync实现实时同步
在分布式应用中会遇到一个问题,就是多个服务器间的文件如何能始终保持一致.一种经典的办法是将需要保持一致的文件存储在NFS上,这种方法虽然简单方便但却将本来多点的应用在文件存储上又变成了单点,这违背了分 ...
- Linux下Rsync+sersync实现数据实时同步
一.为什么要用Rsync+sersync架构? 1.sersync是基于Inotify开发的,类似于Inotify-tools的工具 2.sersync可以记录下被监听目录中发生变化的(包括增加.删除 ...
- linux云计算架构师:Rsync+sersync实现数据实时同步
全套学习资料移步至公众号[学神来啦]更多学习资料添加扣扣资源群:661308959 本节所讲内容: 2.1 Rsync概述 2.2 Rsync服务安装 2.3 Rsync+sersy ...
- rsync+inotify实现文件增量实时同步
rsync+inotify实现文件增量实时同步 项目环境 防火墙{项目环境,不是必要条件} 项目需求 一.rsync安装部署 1.检查是否安装rsync 2.测试系统rsync命令 3.新建配置文件 ...
- Centos7 下 配置 rsync 以及 rsync+inotify 实时同步
Centos 7 下 配置 Rsync 以及 rsync+inotify 实时同步 rsync介绍 rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支 持增量备份,保持链接和 ...
- Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
1.什么是 Rsync? Rsync 是一个开源的快速备份工具,是Linux和UNIX操作系统默认安装的组件之一,可在不同主机间镜像同步整个目录,并支持增量备份文件传输,保持链接和权限,采用优化的同步 ...
- Rsync+inotify 实时同步
Rsync+inotify 实时同步(触发式) ========================================================================= ...
- 【Linux下Inotify + Rsync文件实时同步】
Linux下Inotify + Rsync文件实时同步 一.使用前言* 随着公司业务的发展,单web服务器不能满足用户的访问,需要增加多台web服务器实现均衡高可用性访问.为了统一各web服务器之间的 ...
最新文章
- 【Java代码实现】递归两大经典问题-----“汉诺塔问题” 与 “青蛙跳台阶问题” 讲解
- 继续转 [转]php版本的cron定时任务执行器
- linux或者shell进入vi命令
- 一个 .git 目录,领悟 Git 的强大!
- tfw文件如何导入cad_如何将CAD的线稿导入PS并和底色分离
- rsync实现负载均衡集群文件同步,搭建线上测试部署环境
- ppt2003 未找到 mathpagewll 53_steam每日特惠:《伊拉图斯:死之主》今日史低53元
- 卸载SD卡对MediaServer的处理
- DBUtils的概述
- iOS依赖注入框架系列(三):模块化Typhoon
- 八、OpenDaylight应用基础开发(ODL控制器初级开发流程总结)
- Java中的排序——高级用法
- 细说设计模式七大原则(7):合成复用原则
- 【7036】2年前的今晚,我给HR的转岗申请
- 【天嵌分享活动】E9卡片电脑设置显示屏分辨率
- Mirai僵尸网络+DDoS 攻击+常用端口号大全
- #C语言学习——第一周 求长方形周长面积
- 微信域名检测 实时查询域名是否被微信拦截
- 自动驾驶算法岗笔试题 | 一道有意思的数学题 | 解析及代码实现
- Excel(三)之数据验证性——设置多功能下拉菜单
热门文章
- 练习作品13:电子试卷自动生成软件
- 【短语学习】盈余量分析(earned value analysis)
- oracle使用sql文件创建表,使用SQL*Loader创建外部表之一
- python牛客网编程题_【面经】小米软件开发一面(python)面经 2020 2020
- Map类集合K/V能不能存储null值的情况
- 无法打开“XXXX”,因为Apple无法检查其是否包含恶意软件。怎么解决?
- 分享一些笔记本电脑日常保养技巧
- 后端:死磕18个Java8日期处理,工作必用!
- h5 与原生 app 交互的原理
- 查询CPU占用高的SQL语句的解决方案