环境介绍:

服务器 IP
Server1 192.168.30.131
Server2 192.168.30.132

 

 

 

1、添加主机互信:

  a、添加host文件(在Server1、Server2分别操作):

    [root@localhost ~]#echo -e "192.168.30.131 Server1\n192.168.30.132 Server2" >> /etc/hosts

  b、更改主机名(在Server1、Server2分别操作):

    [root@localhost ~]# sed -i "s/HOSTNAME=.*/HOSTNAME=Server1/g" /etc/sysconfig/network

    [root@localhost ~]# hostname Server1

  c、退出重新登录就会显示出主机名

  d、添加互信

    d1、在主机Server1上操作:

    [root@Server1 ~]# ssh-keygen -t rsa

    [root@Server1 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@Server2

    d2、在主机Server2上操作:

    [root@Server2 ~]# ssh-keygen -t rsa

    [root@Server2 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@Server1

  

2、Unison安装

    unison各种版本下载地址:
    http://www.seas.upenn.edu/~bcpierce/unison//download.html
    unison编译器下载地址:
    http://caml.inria.fr/pub/distrib/ocaml-3.10

    

    2.1、安装编译工具:Objective Caml compiler

    [root@Server1 soft]# cd ocaml-3.10.2+rc1/

    [root@Server1 ocaml-3.10.2+rc1]# ./configure

    [root@Server1 ocaml-3.10.2+rc1]# make world opt

    [root@Server1 ocaml-3.10.2+rc1]# make install && echo OK

    

    2.2、安装Unison:

    [root@Server1 unison-2.13.16]# cd ../unison-2.13.16

    [root@Server1 unison-2.13.16]# make UISTYLE=text THREADS=true

      此时会产生一个错误:

      /bin/sh: etags: command not found

      make[1]: [tags] Error 127 (ignored)
      make[1]: Leaving directory `/soft/unison-2.13.16'

      解决方法:

      yum -y install ctags-etags

    重新编译:

    [root@Server1 unison-2.13.16]# make UISTYLE=text THREADS=true

    [root@Server1 unison-2.13.16]# make install && echo OK

      此时如果报错:

      mv /root/bin//unison /tmp/unison-10301

      mv: cannot stat `/root/bin//unison': No such file or directory
      make: [doinstall] Error 1 (ignored)
      cp unison /root/bin/
      cp: cannot create regular file `/root/bin/': Is a directory
      make: *** [doinstall] Error 1

      解决方法:

      [root@Server2 unison-2.13.16]# mkdir /root/bin

      [root@Server2 unison-2.13.16]# cp unison /root/bin/

    重新编译:

    [root@Server1 unison-2.13.16]# make install && echo OK

    

    2.3、修改配置文件;

    [root@Server1 data]# cat /root/.unison/default.prf

    # Unison preferences file
    root = /data
    root = ssh://root@Server2//data
    #path = www
    #ignore = Path wp-content/tmp
    ignore = Path wp-config.php #忽略wp-config.php文件 相当于rsync的exclude
    #nodeletion = /data
    batch = true
    maxthreads = 300
    #repeat = 1
    owner = true
    group = true
    perms = -1
    fastcheck = false
    sshargs = -C
    xferbycopying = true
    log = true
    logfile = /tmp/unison.log

    2.4、创建同步目录/data

    [root@Server1 ~]# mkdir /data

    [root@Server1 ~]# echo "aa" >> aa.txt

    

    2.5、在Server2上同样操作之上步骤,此处略过

    

    2.6、测试同步

    [root@Server1 ~]# unison -servercmd

    [root@Server1 data]# unison -servercmd=/root/bin/unison
    Contacting server...
    Looking for changes
    Waiting for changes from server
    Reconciling changes

    local Server2
    new file ----> bb.txt
    local : new file modified on 2015-08-19 at 14:42:45 size 5 rw-r--r-- user=0 group=0
    Server2 : absent
    Propagating updates

    UNISON started propagating changes at 14:43:10 on 19 Aug 2015
    [BGN] Copying bb.txt
    from /data
    to //Server2//data
    [END] Copying bb.txt
    UNISON finished propagating changes at 14:43:10 on 19 Aug 2015

    Saving synchronizer state
    Synchronization complete (1 item transferred, 0 skipped, 0 failures)
    [root@Server1 data]#

CentOS 6.5 部署Unison双向同步服务的更多相关文章

  1. Centos下MySQL数据库主从双向同步配置

    MYSQL支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护日志文件的一个索引以跟踪日志循环.当一个从服务器连接到主服务 ...

  2. Linux下 Unison 实现文件双向同步

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://hx100.blog.51cto.com/44326/612301 一.Uniso ...

  3. linux web服务器静态资源的处理 unison+inotify双向同步

    linux web服务器静态资源的处理 unison+inotify双向同步 http://monkeyzhu.blog.51cto.com/5764358/1324391 简介 unison可以使两 ...

  4. unison + inotify 实现文件实时双向同步部署步骤

    unison + inotify 实现文件实时双向同步部署步骤 一. Unison简介 Unison是Windows.Linux以及其他Unix平台下都可以使用的文件同步工具,它能使两个文件夹(本地或 ...

  5. CentOS 7.2 部署Rsync + Lsyncd服务实现文件实时同步/备份 (一)

    接收端配置: 1.安装rsync yum -y install rsync 2.配置同步模块 1. 编辑同步配置文件 vi /etc/rsyncd.conf 2. 同步模块配置参数 # any nam ...

  6. unison 双向镜像同步

    unison 双向镜像同步   需要 ocaml 依赖工具(3.0.7) 而且需要机器ssh双向互信 ssh 开启互信 # vi in.sh  直接执行 in.sh 就可以了 mkdir ~/.ssh ...

  7. Centos 配置 Mysql 主从双向同步

    配置之前,请先阅读mysql主从复制: Mysql-主从复制 原:  主从环境: 主服务器:192.168.153.130 从服务器:192.168.153.131 1.从数据库创建同步用户,将主数据 ...

  8. SymmetricDS 数据库双向同步开源软件入门

    一句话概括该软件:SymmetricDS是一个文件和数据库同步软件,开源的,支持多主复制,同步时过滤和在异构的网络环境中进行数据转换传输.它支持单向和双向上的多个订阅者,异步的数据复制. 以下是从CS ...

  9. MySQL Dual-Master 双向同步

    本文介绍的Mysql Dual-Master 复制实施方法可能不是最完美.最强大的.但是在我的应用环境下能很好的满足各项需求. 本文基于我们仅仅使用两台MySQL服务器的情况下,但是你会发现文章中介绍 ...

随机推荐

  1. iOS基础 - 史上最难游戏

    步骤一:隐藏状态栏 步骤二:屏幕适配 步骤三:设置窗口的根控制器为导航控制器,并且设置导航条和状态栏. 步骤四:搭建设置界面 步骤五:控制器连线 步骤六:搭建关卡控制器 加载pilst文件 创建关卡模 ...

  2. DOM(二) 判断节点包含关系

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  3. 用邻接表或vector实现存边以及具体如何调用[模板]

    存边: 对于指针实现的邻接表: struct edge{ int from,next,to,w; }E[maxn]; int head[maxn],tot=0;//head初始化为-1: void a ...

  4. 牛顿法(Newton's Method)

    Newton's Method 在求最优解时,前面很多地方都用梯度下降(Gradient Descent)的方法,但由于最优步长很难确定,可能会出现总是在最优解附近徘徊的情况,致使最优解的搜索过程很缓 ...

  5. [转]Blocking Code Injection on iOS and OS X

    Source:http://www.samdmarshall.com/blog/blocking_code_injection_on_ios_and_os_x.html Yesterday I pos ...

  6. MySQL能够承受上亿万条的数据量的架构

    MySQL能够承受上亿万条的数据量的架构 最近做的搜索引擎的数据量是越来越大估计了下在中国可能涉及到的1Kw的数据量,就全球来说也就是1K亿而已,最初是用的数据库是MySQL现在来说要做些优化,最终使 ...

  7. iOS 开发问题集锦(二)

    办公机器原来是别人在用,Xcode也是用别人的账号下载的.昨天想升级Xcode的时候,发现没有密码,为了不打扰别人,也为了方便自己之后升级,于是乎把旧版本直接卸载掉,重新下载了全新的4.6版. 下载完 ...

  8. About Spring

    “Spring is the most popular application development framework for enterprise Java.”这是Spring官方首页上的第一句 ...

  9. 微软IE11浏览器的7大变化

    微软IE11浏览器的7大变化 投递人 itwriter 发布于 2013-06-29 11:48 评论(9) 有1025人阅读  原文链接  [收藏]  « » 微软很看重自己的 IE 浏览器,这款浏 ...

  10. Qt Creator+MinGW+boost特殊函数的使用示例

    Qt Creator+MinGW+boost特殊函数的使用示例: 先编译和安装boost: bootstrap.bat gcc .\b2 --toolset=gcc --prefix=E:\boost ...