软件下载

ocamlopt下载地址:http://caml.inria.fr

Unison下载地址:http://www.seas.upenn.edu/~bcpierce/unison

1、安装unison前先安装ocamlopt。安装ocamlopt:

tar -xvf ocaml-4.02.0.tar.gz

./configure

make world.opt

make install

2、安装Unison

tar -xvf unison-2.48.3.tar.gz

make UISTYLE=text THREADS=true STATIC=true

执行完成以上命令之后,在当前目录下生成一个unison文件。

cp unison /usr/local/bin

一、配置双机ssh信任

A服务器IP:192.168.6.128

B服务器IP:192.168.6.129

1、在两台机器上都执行一遍以下命令

1)A服务器上用root用户登录系统,在root用户主目录下创建.ssh目录并赋予700权限

mkdir ~/.ssh

chmod 700 ~/.ssh

2)使用ssh-keygen命令生成第2版ssh协议的RAS密钥

ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa)

Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
18:19:17:27:47:ea:e8:59:b1:a2:89:e8:0b:a6:85:d1 root@localhost.localdomain

2、添加密钥文件到授权密钥文件中

1)root用户登录

cd ~/.ssh

[root@localhost .ssh]# ssh 192.168.6.128 cat /root/.ssh/id_rsa.pub >> authorized_keys

[root@localhost .ssh]#ssh 192.168.6.129 cat /root/.ssh/id_rsa.pub >> authorized_keys

scp authorized_keys 192.168.6.129:/root/.ssh/

chmod 600 /root/.ssh/authorized_keys

2)在B服务器上执行chmod 600 /root/.ssh/authorized_keys

3)测试

在A、B服务器上执行以下命令

ssh 192.168.6.128 date

ssh 192.168.6.129 date

在第一次执行时,会要求输入密码,再次执行时不需要输入密码就能显示系统日志,说明ssh互相信任。

二、使用unison

1、本地使用unison

unison /data1 /data2 -batch

#-batch 全自动模式,接受默认操作并执行,不需人工干预

2、远程使用unison

unison <本地目录> ssh://remoteIP/<远程目录的绝对路径>

unison  /data1 ssh://root@192.168.6.129//data2 -batch

3、配置文件方式

修改配置文件default.prf(/root/.unison目录下)

# Unison preferences file
root=/data1
root=ssh://root@192.168.6.129//data2
#force=/data1
#path=/data1
#path=/data2
ignore=Path WEB-INF/tmp
batch=true
maxthreads=300
fastcheck=true
owner=true
group=true
perms=-1
sshargs=-C
xferbycopying=true
confirmbigdel=false
log=true
logfile=/root/.unison/log.log

repeat=1 #间隔1s重新扫描

执行unison default.prf

unison实时双向数据同步的更多相关文章

  1. Inotify+rsync实现实时数据同步

    使用rsync可以实现数据同步,但是即使使用crontab定时任务最小执行间隔为1分钟,在数据实时性要求比较高场合需使用inotify+rsync实现实时同步 下载inotify wget https ...

  2. rsync数据同步备份

    一.rsync简介 (1)rsync是什么? rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具. (2)rsync作用比较 远程拷贝:有点类似ssh的scp ...

  3. Linux实战教学笔记21:Rsync数据同步工具

    第二十一节 Rsync数据同步工具 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载,转载 ...

  4. wtf!rds数据同步居然出问题了--菜鸟db的数据修复历程

    由于一次上线操作的数据变更太多,导致执行时间很长! 由于做手动主从关系,所以操作落在了主库上. 由于主从关系不是对整个库的操作,所以在有表新增的地方,添加了dts新的同步关系. db变更完成后,就发布 ...

  5. 搭建中小规模集群之rsync数据同步备份

    NFS重要问题 1.有关NFS客户端普通用户写NFS的问题. 1)为什么要普通用户写NFS. 2)exports加all_squash. Rsync介绍 什么是Rsync? Rsync是一款开源的.快 ...

  6. Linux系统——Rsync数据同步工具

    Rsync的优点及缺点 优点:类似cp命令.scp命令,但rsync为增量复制工具 缺点:针对大文件,效率非常高(打包再比对),针对小文件,效率非常低. Rsync作用 (1)可使本地和远程两台主机之 ...

  7. 【集群实战】Rsync数据同步工具

    1. Rsync介绍 1.1 什么是Rsync? Rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix/linux/windows ...

  8. 【基础】:Rsync数据同步工具

    第二十一节 Rsync数据同步工具 1.1 Rsync介绍 1.1.1 什么是Rsync? 1.1.2 Rsync简介 1.3 Rsync的特性 1.1.4 Rsync的企业工作场景说明 1.2 Rs ...

  9. rsync unison+inotify双向实时同步

    rsync多线程同步 A:文件服务器 ip:10.10.1.10 B:备份服务器 ip:10.10.1.11 1.在B服务器上安装rsync软件 tar xzvf rsync-3.1.0.tar.gz ...

随机推荐

  1. Swift--集合类型 数组 字典 集合

    数组 1.创建一个数组 var someInts = [Int]()空数组 someInts = []清空 var threeDoubles = Array(repeating: 0.0, count ...

  2. initWithFrame和initWithCoder区别

    当我们所写的程序里没用用Nib文件(XIB)时,用代码控制视图内容,需要调用initWithFrame去初始化 - (id)initWithFrame:(CGRect)frame{ if (self  ...

  3. Function Currying in javascript 的一些注释

    理解函数柯里化(Function Currying ),最关键的是理解下面这个函数: function curry(fn){ var args = Array.prototype.slice.call ...

  4. 读书笔记_Effective_C++_条款十七:以独立语句将new产生的对象置入智能指针

    int get_int(); void f(shared_ptr<int> a, int); //下面调用 f(new int(3), get_int());//如果是类而不是int就可以 ...

  5. OOAD基本概念

    学习目标: 1.理解与掌握面向对象的概念与方法. 2.使用UML. 3.完成面向对象的分析与设计工作. 4.了解OO的设计原则及一些典型的设计模式 什么是面向对象? 面向对象(Object-Orien ...

  6. python比较两个列表

    两个列表,随机产生4个不相等的数,计算一下,相同位置上的元素相等的个数,用k1表示. b列表中的元素在a列表中,但位置不相同,有多少个,用k2表示. 例如: a=[0, 4, 7, 3]b=[7, 1 ...

  7. Java学习笔记--PriorityQueue(优先队列)(堆)

    PriorityQueue(优先队列)实际上是一个堆(不指定Comparator时默认为最小堆)队列既可以根据元素的自然顺序来排序,也可以根据 Comparator来设置排序规则.队列的头是按指定排序 ...

  8. vi编辑器经典技巧 -备

    a)vi编辑器 (visual Interface简称) Linux常用,输出,删除,查找,替换,块操作,定制 b) vim编辑器 (vi IMproved简写)是vi增强版本,在vi上增加了很多功能 ...

  9. 怎样在Word中插入代码并保持代码原始样式不变

    怎样在Word中插入代码并保持样式不变 我们有时候需要在word中添加一段我们写的代码,但是把代码粘贴到word文档中之后就发现所有的代码的样子都变了,我们可以采用下边的方法来实现保持代码原来的样式和 ...

  10. Android系统服务-简介

    http://blog.csdn.net/chenyafei617/article/details/6577907 Introduction 我们知道Android系统服务挺多的,做程序时经常会用到, ...