利用unison+inotify 实现数据双向实时同步
利用unison+inotify 实现数据双向实时同步
环境:Centos 6.5 64位
server1 :192.168.1.201
server2 :192.168.1.250
需求软件:ocaml unison inotify-tools
我这里全是使用yum安装的,若是喜欢使用源码编译安装的可以官网下载源码包。
yum install ocaml unison inotify
第一步:保证两台服务器之间可以通过ssh无密码访问,为了安全,需要创建一个普通用户:
两边执行的步骤一样:
useradd unison
passwd unison
su - unison
ssh-keygen -t rsa (直接三次回车即可)
scp .ssh/id_rsa.pub 192.168.1.250:/home/unison/.ssh/authrized_keys
scp .ssh/id_rsa.pub 192.168.1.201:/home/unison/.ssh/authrized_keys
chmod 600 .ssh
第二步:创建shell脚本来执行同步
在server1 上
vim /home/unison/inotify.sh
#! /bin/bash ip2="192.168.1.250" src2="/home/unison/test" dst2="/home/unison/test" /usr/bin/inotifywait -mrq -e create,delete,modify,move $src2 | while read line; do /usr/bin/unison -batch $src2 ssh://$ip2//$dst2 echo -n "$line" >> /home/unison/inotify.log echo `date| cut -d ' ' -f1-4` >> /home/unison/inotify.log done
在server2 上创建脚本:
#! /bin/bash ip1="192.168.1.201" src1="/home/unison/test" dst1="/home/unison/test" /usr/bin/inotifywait -mrq -e create,delete,modify,move $src1 | while read line; do /usr/bin/unison -batch $src1 ssh://$ip1//$dst1 echo -n "$line" >> /home/unison/inotify.log echo `date| cut -d ' ' -f1-4` >> /home/unison/inotify.log done
最后分别在两台服务器上执行脚本即可:
nohup sh /home/unison/inotify.sh //加nohup,即可退出当前用户,也可以继续执行此脚本
若想开机启动,可以加入到/etc/rc.d/rc.local中。
转载于:https://blog.51cto.com/cuixiang/1678737
利用unison+inotify 实现数据双向实时同步相关推荐
- mysql数据库双向实时同步
1.需求描述 近期一个项目需要实现两个数据库间的数据双向实时同步. 2.解决思路 打算采用双主的架构实现这个需求,但是通常双主架构是为了备份,不是为了多点写入,所以实际项目中多个系统只访问双主中 的一 ...
- rsync+sersync实现数据文件实时同步
rsync+sersync实现数据文件实时同步 使用rsync+sersync,实现nfs与backup服务器间实时数据同步 一.数据同步工具介绍 rsync是一款开源的.快速的.多功能的.可实现全量 ...
- linux 文件双向同步,Linux文件双向实时同步rsync
在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 echo"/usr/sersync/sersync2-d-o/usr/sersync/confxml.xm ...
- rsync+inotify实现文件增量实时同步
rsync+inotify实现文件增量实时同步 项目环境 防火墙{项目环境,不是必要条件} 项目需求 一.rsync安装部署 1.检查是否安装rsync 2.测试系统rsync命令 3.新建配置文件 ...
- Oracle 数据怎么实时同步到 MySQL | 亲测干货分享建议收藏
摘要: 这段时间负责一个老项目开发的数据库管理工作,这个项目中开发库与测试数据库分离,其中有些系统表数据与基础资料数据经常需要进行同步,相信很多 DBA 同学经常会遇到要从一个数据库实时同步到另一 ...
- Oracle 数据怎么实时同步到 Kafka | 亲测干货分享建议收藏
摘要: 很多 DBA 同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同构数据还相对容易,遇上异构数据.表多.数据量大等情况就难以同步.我自己亲测了一种方式,可以非常方便地完成 Oracl ...
- Oracle 数据怎么实时同步到 SQL Server | 亲测干货分享建议收藏
摘要: 很多 DBA 同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同构数据还相对容易,遇上异构数据.表多.数据量大等情况就难以同步.我自己亲测了一种方式,可以非常方便地完成 Oracle ...
- Oracle 数据怎么实时同步到 PgSQL | 亲测干货分享建议收藏
摘要: 这段时间负责一个老项目开发的数据库管理工作,这个项目中开发库与测试数据库分离,其中有些系统表数据与基础资料数据经常需要进行同步,相信很多 DBA 同学经常会遇到要从一个数据库实时同步到另一个数 ...
- Oracle 数据怎么实时同步到 MongoDB | 亲测干货分享建议收藏
摘要: 很多 DBA 同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同构数据还相对容易,遇上异构数据.表多.数据量大等情况就难以同步.我自己亲测了一种方式,可以非常方便地完成 Oracle ...
最新文章
- mysql 分组 列转行_mysql列转行以及年月分组实例
- [YTU]_2576( 虚函数练习:动物2)
- 【ABAP增强】基于BADI的增强
- xtend怎么使用_使用Xtend构建Vaadin UI
- 静态链表(代码、分析、汇编)
- Linux 挂载windows网络共享文件 /etc/fstab功能详解
- mac系统升级后使用gitxcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), miss
- Vercel反向代理做CDN,免费给网站加速隐藏源站,可绑定域名
- 马斯克自曝曾寻求苹果600亿美元收购特斯拉 但库克拒绝会面
- 【hue】 There are currently no roles defined
- centos解压分卷rar_centos解压和压缩rar格式文件
- 分布式服务弹性框架“Hystrix”实践与源码研究(一)
- 给editplus加一个主题
- 基于几何学习图像的三维重建发展_基于深度学习的三维重建——MVSNet系列论文解读...
- 深度学习CUDA最新最佳安装教程
- CUDA C/C++ 教程一:加速应用程序
- android 获取本地视频文件以及缩略图
- git小乌龟的安装和使用教程
- CF128A Statues 解题报告
- Activision解散《吉他英雄》,取消《真实犯罪》
热门文章
- 只允许对最后一条记录进行修改
- 二元函数图像生成器_GAN生成图像综述
- php修改js内容,js怎样修改html元素的内容?HTML DOM实现修改内容
- 编写第一个Java程序:helloworld
- MySQL备份恢复与日志
- 出现这些迹象,说明你面试可能没戏了
- 单独组件_阿里P8年薪百万大牛-教你打造一个Android组件化开发框架
- python3 携程_多任务(3):协程
- 《大数据》2015年第3期“研究”——大数据流式计算:应用特征和技术挑战
- 作者:潘永花,阿里数据经济研究中心秘书长,阿里研究院高级专家。