• Linux目录同步unison


    最近研究目录同步.最初考虑的是rsync,用的时候发现只能单向同步而且要实现双向还得用inotify.后来发现unison能解决双向同步的问题而且相比rsync简单的多.

    系统平台: CentOS 6.4 x64

    配置过程:
    1.安装 yum install unison.x86_64  (软件包在rpmforge源里)
      同步的两端都要安装且版本必须相同.
    2.配置双机ssh信任
      由于unison在远程同步文件夹要登陆远程服务器,因此要配置两机互相信任
      本地机: 172.16.253.202
      远程机: 172.16.253.201

      1. 在两台机器上创建 RSA密钥
      以下操作要在本地机和远程机上都执行一遍
      (1)以 root 用户登录
      (2)在 root 用户的主目录内创建.ssh 目录并设置正确的权限
        chmod 700 ~/.ssh
      (3)使用 ssh-keygen 命令生成第 2 版本的 SSH 协议的 RSA 密钥
        ssh-keygen -t rsa
        使用默认的私钥(key)和公钥(public key)位置.
        私钥密码(passphrase)为空.
      2. 添加密钥到授权密钥文件(authorized key file)中
        cd ~/.ssh
        ssh 10.178.1.132 cat /root/.ssh/id_rsa.pub >> authorized_keys
        ssh 10.178.1.110 cat /root/.ssh/id_rsa.pub >> authorized_keys
        密钥文件复制到远程端:
        scp authorized_keys 10.178.1.110:/root/.ssh/

      3.测试
      ssh 10.178.1.132 date
      ssh 10.178.1.110 date
      如果不需要输入密码就出现系统日期,说明 SSH 配置成功。

    3.使用配置文件同步.

      配置文件位置: ~/.unison/default.prf

      设置: 

    # Unison preferences file
    root = /opt/unison
    root = ssh://root@172.16.253.201//opt/unison/
    batch = true

      batch = true,表示全自动模式,接受缺省动作,并执行

      执行unison命令即可执行同步.

    默认是运行一次unison进行一次同步, 只能写在cron里作为定时同步. 利用inotify可以实现触发式同步,每次对目录中文件修改都会触发一次同步操作,解决了即时性的问题.

    1.安装inotify软件包.
      yum install inotify-tools -y  (需先安装epel源)

    2.编写同步脚本

    #!/bin/bash
    
    # add this to /etc/rc.local 
    
    /usr/bin/inotifywait -mrq -e modify,delete,create,attrib /opt/unison | while read file
    do
        unison
    done

    3.系统启动时执行脚本文件,添加到/etc/rc.local.执行命令后加 &保证后台运行.

     echo '/DroneStorage/Scriptes/inotify.sh &' >> /etc/rc.local

    参考: http://blog.163.com/yaning_softwo/blog/static/37837721201131103546979/

        

      

        


      

      

  • 相关阅读:
    20145322《信息安全系统设计基础》第13周学习总结
    20145310《信息安全系统设计基础》实验五 网络通信
    《信息安全系统设计基础》实验四 外设驱动程序设计
    《信息安全系统设计基础》实验二 固件设计
    《信息安全系统设计基础》实验三报告
    20145321《信息安全系统设计基础》第14周学习总结
    20145321 《信息安全系统设计基础》第13周学习总结
    《信息安全系统设计基础》实验五报告
    20145321 《信息安全系统设计基础》第12周学习总结
    《信息安全系统设计基础》实验四报告
  • 原文地址:https://www.cnblogs.com/viator42/p/3433169.html
Copyright © 2020-2023  润新知