Rsync+unison双向文件同步

1.配置RSYNC服务器的同步源:

  • 基于SSH同步源  

    • rsync -avz /server/rsyncd/*  [email protected]:/client/rsyncd
  • 基于RSYNC同步源
    • /etc/rsyncd.conf

      • address = 172.16.23.203
        port 873
        pid file = /var/run/rsyncd.pid
        lock file = /var/run/rsync.lock
        log file = /var/log/rsyncd.log
        read only = false
        auth users = chen
        secrets file = /etc/rsync_user.db
        [share]
        comment = soft
        path=/server/rsyncd
    • /etc/rsyncd_user.db
      • 文件的权限必须是600

        chen:123456
      • 上行同步的时候:nobody必须有权限(setfacl -m u:nobody:rwx  /client/rsyncd)

        •  rsyncd -avz [email protected]::share  /client/rsyncd/
        • rsyncd -avz  rsyncd://[email protected]/share /client/rsyncd
  • 免验证登录
    • 基于ssh秘钥对登录
      • 密钥对ssh-keygen -t rsa
      • 传到对端:ssh-copy-id 172.16.23.204
    • 基于RSYNCD系统变量
      • RSYNC_PASSWORD=123456

2.inotify+rsyncd

  • 服务端建立脚本

    • #!/bin/basha="/usr/local/bin/inotifywait -mrq -e create,delete /server/rsyncd"
      b="/usr/bin/rsync -avz /server/rsyncd/* 172.16.23.204:/client/rsyncd"
      $a | while read diretory event file
      do
              $b
      done

      执行 bash a.sh & 放到后台执行

3.inotify+unison

  安装软件:inotify-tools-3.14.tar.gz   ocaml-3.10.0.tar.gz  unison-2.13.16.tar.gz

    • tar zxvf inotify-tools-3.14.tar.gz

      • ./configure && make && make install
    • tar -zxvf ocaml-3.10.0.tar.gz  
      • ./configure
      • make world opt
      • make install
    • tar zxvf   unison-2.13.16.tar.gz
      • cd unison-2.13
      • make UISTYLE=text THREADS=true STATIC=true
      • cp unison /usr/local/bin
    • 建立脚本
      • #!/bin/bash
        a="/usr/local/bin/inotifywait -mrq -e create,delete /server1"
        b="/usr/bin/unison -batch /server1  ssh://172.16.23.204//server2"
        $a | while read diretory event file
        do
                $b
        done
        

          

时间: 2024-10-07 18:38:38

Rsync+unison双向文件同步的相关文章

unison 双向镜像同步

unison 双向镜像同步   需要 ocaml 依赖工具(3.0.7) 而且需要机器ssh双向互信 ssh 开启互信 # vi in.sh  直接执行 in.sh 就可以了 mkdir ~/.ssh chmod 700 .ssh/ /usr/bin/ssh-keygen -t rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys 然后拷贝  .ssh/authorized_ke

Zabbix监控系列之-Rsync+Inotify实现文件同步更新(无防火墙版)

Rsync+inotify实现文件同步更新(无防火墙版) 目录 说明:... 2 准备工作:关闭服务器的防火墙... 2 关闭防火墙firewall2 禁止开机启动防火墙... 2 编写脚本"shut-firewall.sh". 2 发布服务器配置rsync:192.168.171.128. 2 安装配置Rsync. 2 配置rsyncd.conf文件... 2 创建认证文件:/etc/rsyncd.secrets. 3 设置文件权限... 3 启动rsync服务... 4 关闭rsy

RSync实现双机文件同步

双机同步任务操作步骤                      注:红色为注释说明的内容,绿色为示例内容,请以项目实际情况修改操作 1. 安装或更新相关软件包 #yum install rsync* xinetd* –y 2. 配置rsync服务端(提供文件同步的服务器),制定提供同步的应用条目信息 A. 配置文件实例如下 #vim /etc/rsyncd.conf                          -------------编辑rsync配置文件 uid = root     

rsync + inodify 实现文件同步

我的配置: A为服务端 B为客户端 A和B的配置请参考rsync+ssh(南非蚂蚁 http://ixdba.blog.51cto.com/2895551/580280/) 因为rsync使用ssh通道,所以rsync的服务端没有必要配置,也不必启动,rsync在传输的时候使用ssh所在的端口 我在A端写的脚本 #! /bin/bash host1=192.168.2.81 src=/data/crash st1=/data/crash user=root /usr/local/bin/inot

rsync +inodify实现文件同步

我的配置: A为服务端 B为客户端 A和B的配置请参考rsync+ssh 因为rsync使用ssh通道,所以rsync的服务端没有必要配置,也不必启动,rsync在传输的时候使用ssh所在的端口 我在A端写的脚本 #! /bin/bash host1=192.168.2.81 src=/data/crash st1=/data/crash user=root /usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '

rsync+inotify实现文件同步

什么是rsync,remote synchronize远程同步简写.Linux系统上由rsync这个软件包提供.rsync有几个特点,镜像保存整个文件目录树或文件系统:有较高的数据传输效率:可以借助ssh实现安全数据传输:支持匿名传输等.rsync同步只是针对变化的文件进行传输,意味着其会在源和目标之间比较文件的异同.相对与scp来说,第一次传输两边都效率都差不多.但以后传输相同目录下的文件时,rsync只传输变化的文件,而非像scp直接覆盖.inotify是linux的一种文件变化通知机制,用

linux unison inotify 文件同步

default.prf #Unison preferences file root = /app/htdocs/project root = ssh://[email protected]//app/htdocs/project servercmd = /usr/local/bin/unison #force = true ignore = Path Application/Runtime ignore = Path Uploads/Home batch = true maxthreads =

采用 unison + inotify + rsync 实现文件触发式实时单向/双向/多向文件同步

项目有个新的需求,在多台APP服务器随机上传图片/资源文件,其中一台APP需要读取上传的图片,这样之前做的rsync+inotify的设置就无法应对了. 所以研究了下多向触发式实时同步机制,大家可以实验一下,如果有不妥的地方,请联系我修正,多谢了. 以下开始正题 一.     简介 Unison是Windows.Linux以及其他Unix平台下都可以使用的文件同步工具,它能使两个文件夹(本地或网络上的)保持内容的一致.Unison拥有与其它一些同步工具或文件系统的相同的特性,但也有自身的特点:

Linux下利用Unison实现文件双向同步

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