实时双向同步实现

环境:

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 [email protected]::buckup

输入密码:123456

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

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

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

时间: 2024-08-05 21:17:33

实时双向同步实现的相关文章

服务器间文件实时双向同步(rsync+inotify)

场景: 主从服务器项目文件实时双向同步(参考:http://www.xcx1024.com/ArtInfo/3026389.html) 一.rsync安装 yum在线: yum install -y rsync 离线: cd /usr/local wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz tar -zxvf rsync-3.1.2.tar.gz cd rsync-3.1.2 ./configure --pre

unison+inotify实现数据实时双向同步

1.unison简介 Unison是windows和unix平台下都可以使用的文件同步工具,它能使两个文件夹(本地或网络上的)保持内容的一致,也支持经由过程SSH.RSH和Socket同步支持双向同步.Unison有文字界面和图形界面,这里只介绍如何在文字界面下使用. unison拥有其它一些同步工具或文件系统的相同特性,也有自己的特点,可以跨平台使用,对内核和用户权限没有特别要求,unison是双向的,它能自动处理两分拷贝中更新没有冲突的部分,有冲突的部分将会显示出来让用户选择更新策略:只要是

配置 Rsync + inotify 实现文件服务器数据实时双向同步

Rsync 概述 Rsync 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,且采用优化的同步算法,在传输钱执行压缩,因此非常适用于异地备份.镜像服务器等应用. Rsync 的官方网站是 http://rsync.samba.org/ ,由 Wayne Davison 进行维护.作为一种最常见的文件备份工具, Rsync 往往是 Linux 和 UNIX 系统默认安装的基本组件之一. Rsync 的优点 Rsync与传统的cp.tar备份方式相比,具

双向同步软件Unison的安装与配置

一.Unison简介Unison是Windows.Linux以及其他Unix平台下都可以使用的文件同步工具,它能使两个文件夹(本地或网络上的)保持内容的一致.Unison拥有与其它一些同步工具或文件系统的相同的特性,但也有自身的特点:1.跨平台使用:2.对内核和用户权限没有特别要求:3.Unison是双向的,它能自动处理两分拷贝中更新没有冲突的部分,有冲突的部分将会显示出来让用户选择更新策略:4.只要是能连通的两台主机,就可以运行unison,可以直接使用socket连接或安全的ssh连接方式,

rhel下文件的同步:sersync实时同步和drbd双向同步

sersync(873端口)实时同步(单向同步) 需要注意:纯粹的使用rsync做单向同步时,rsynx的守护进程是运行在文件推送服务器上,而接收的服务器是运行rsync客户端.使用sersync做文件实时同步刚好相反,用于接收文件的服务器运行rsync守护进程. sersync主要用于服务器同步,web镜像等功能.基于boost1.43.0,inotify api,rsync command.开发.目前使用的比较多的同步解决方案是inotify-tools+rsync ,另外一个是google

csync+lsync 实时双向批量同步小文件

cysnc+lsync配置安装 环境 ubuntu 12.04 1) 两台机器安装配置: apt-get install xinetd csync2 lsyncd     cat /etc/xinetd.d/csync2                  service csync2             {                 disable = no                 port = 30865                 socket_type = strea

MooseFS分布式文件系统+keepalived高可用+unison和intoify实时双机同步(三)

3.Unison双向同步工具配置 3.1.Unison简介 Unison是Windows.Linux以及其他Unix平台下都可以使用的文件同步工具,它能使两个文件夹(本地或网络上的)保持内容的一致.Unison拥有与其它一些同步工具或文件系统的相同的特性,但也有自身的特点: 1.跨平台使用: 2.对内核和用户权限没有特别要求: 3.Unison是双向的,它能自动处理两分拷贝中更新没有冲突的部分,有冲突的部分将会显示出来让用户选择更新策略: 4.只要是能连通的两台主机,就可以运行unison,可以

inotify+unison双向同步环境部署

在网上搜寻了很多方案,在liux下做文件同步,有如下几种方式: 1.nfs实现web数据共享 2.rsync +inotify实现web数据同步 3.rsync+sersync更快更节约资源实现web数据同步 4.unison+inotify实现web数据双向同步 在这里详细介绍第四种方案,前几种都有些各自的不足.只有第四种方案支持双向实时同步,且当其中一台服务器宕机,也不会影响web的访问.(ps:之前一直喜欢nfs,配置非常简单,但是其有个致命的缺点就是其中一台web服务挂掉之后,会直接导致

Unison+inotify实现两个主机目录之间的数据双向同步

软件包的下载地址:http://down.51cto.com/data/2219727 1 目的:实现两个主机上面的目录实时同步数据,Unison支撑双向同步操纵,你既可以从A同步到B,也可以从B同步到A,这些都不须要额外的设定. 2 实验环境:server1 :  192.168.127.129     server2 : 192.168.127.130 同步的目录都是/data/nest 3 安装部署:两个服务器安装 unison 和ocaml,inotify ##编译安装ocaml,uni