码迷,mamicode.com
首页 > 其他好文 > 详细

实时双向同步实现

时间:2019-11-04 13:46:46      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:监听   var   lock   共享目录   tps   之间   内核   名称   pat   

环境:

linux :内核3.0以上

同步工具:

rsync&sersync

资料:https://rsync.samba.org/examples.html

要求:须以root实现一下操作,否则容易失败

rsync是文件或目录同步的常用工具,尤其在分布式系统下进行同步,可以通过自写脚本调用该命令的方式实现,但现在有更加容易实现的方法,通过以上工具以配置文件的形式实现实时双向同步。

第一步:安装rsync

yum -y install xinetd rsync   

xinetd --是用来管理rsync的

rsync--同步工具

sersync--监控目录

第二步:配置rsync

这里范围A服务器和B服务器,双向同步目录为:/ftp

在A服务器配置如下:

uid = root
gid = root

#设置本服务器所监听网卡接口的ip地址
address=A_ip

#设置服务器监听的端口号,默认是873
port=873

 #设置哪些主机可以同步数据,多ip和网段之间使用空格分隔
hosts allow=B_ip

  #除了hosts allow定义的主机外,拒绝其他所有

hosts deny=*  

use chroot = yes

#设置并发连接数,0表示无限制

max connections = 5

#设置rsync进程号保存文件名称
pid file = /var/run/rsyncd_bak.pid

#设置锁文件名称
lock file=/var/run/rsync_bak.lock

#设置日志文件名,可通过log format参数设置日志格式
log file=/var/log/rsyncd_bak.log

#开启rsync数据传输日志功能

transfer logging = yes   
[buckup]  #模块名称
path=/buckup
comment=used for web-data root #模块注释

#是否允许客户端上传数据,yes表示不允许
read only=false

 #客户端请求显示模块列表时,本模块名称是否显示,默认为true
list=yes
auth users=usera
secrets file =/etc/rsync.passwd

密码验证文件:

vim /etc/rsync.passwd

格式:usera:123456  --用户是rsyncd.conf里的auth users,密码随便写

授权:chmod 600 /etc/rsync.passwd

分别在A、B服务器上建立共享目录: mkdir /buckup

A服务器配置完后启动rsync:

 rsync --daemon --config=/etc/rsyncd.conf

在B服务器执行:rsync -avz /buckup rsyncuser@192.168.108.200::buckup

输入密码:123456

注意这里可以通过加 --password-file=/etc/rsync.passwd的方式自动登录:密码文件放在B服务器,这里的密码必须与A密码文件的密码一致

这里就完成了B服务器的数据同步到A服务器,采用的时推送消息模式

 

实时双向同步实现

标签:监听   var   lock   共享目录   tps   之间   内核   名称   pat   

原文地址:https://www.cnblogs.com/sdifens/p/11791510.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!