`

基于rsync和inotify的服务器文件同步

 
阅读更多

  基于rsync和inotify的服务器文件同步

使用场景:

      使用于应用服务器中的集群,需要同时部署多个服务时。使用了同步,只需修改服务端的文件,它会自动同步到客户端的机器上,从而保证了代码的一致性。

安装需要软件:

      inotify-tools-3.13.tar.gzrsync-3.1.1.tar.gz

客户安装步骤:

  1. 检查系统是否安装rsync,如果安装则不需要重新安装。如没有安装请进行第二步。
  2. 安装rsync。
    tar zxvf  rsync-3.1.1.tar.gz
    cd rsync-3.1.1
    ./configure ;
    make ;
    make install 
  3. 创建配置文件
    mkdir /etc/rsyncd/
    vim /etc/rsyncd/rsyncd.conf
  4.  修改配置文件
    # Section 1: Global settings
    port = 873
    uid = root     #用户
    gid = root     #用户所在组
    use chroot = yes
    read only = no
    max connections = 7
    pid file = /var/run/rsyncd.pid
    log file = /var/log/rsyncd.log      #日志输入
    hosts allow = 192.168.1.1          #服务器端的地址
    transfer logging = yes
    log format = %t %a %m %f %b
    syslog facility = local3
    timeout = 300
    
    # Section 2: Directory to be synced
    [mp3]   #模块名称,服务器端会根据这个名称进行查找
    path = /data/mp3     #同步文件的目录
    list = false
    ignore errors = yes
    auth users = root
    secrets file = /etc/rsyncd/rsyncd.pass   #用户名、密码所在文件 
  5. 创建密码文件/etc/rsyncd/rsyncd.pass
    root:123456   #用户名、密码
  6.  修改rsyncd.pass的权限
    # chmod 600  /etc/rsyncd/rsyncd.pass #注意:一定要是600的权限,其它权限不好用
  7.  启动服务,进行验证
    #启动服务
    # /usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
    查看状态,是否成功
    # netstat -nutlp | grep :873
     

服务器安装配置:

  1. 检查是否安装rsync软件,如果没有安装进行安装步骤参考客户端,但不需要配置。
  2. 安装inotify软件
    tar xzvf inotify-tools-3.13.tar.gz
    cd inotify-tools-3.13
    ./configure  --prefix=/usr/local/inotify
    make
    make install
  3. 创建配置文件并修改权限
    #创建密码文件
    # vim /etc/rsyncd/rsyncd.pass
    #此文件中只需写入密码即可
    123456
    #修改权限,请不要使用其它权限
    chown 600  /etc/rsyncd/rsyncd.pass
  4.  建立自动同步的脚本,使用inotifywait监控目录,当监控目录改变的时候,调用rsync同步改变的文件
    # vim /var/tmp/auto_sync.sh
    #!/bin/bash
    #
    DESTHOST=192.168.1.107           #客户端地址
    DESTHOSTDIR=/data/mp3/           #客户端目录 
    SRCDIR=/data/mp3/                #服务端目录
    
    inotifywait -mr --timefmt '%d/%m/%y %H:%M' --format '%T %w %f' -e close_write,modify,delete,create,attrib $SRCDIR |  while read DATE TIME DIR FILE; do
          
    FILECHANGE=${DIR}${FILE}
          echo "At ${TIME} on ${DATE}, file $FILECHANGE will be backed up via rsync" >> /var/log/mp3sync.log      
           rsync -avz --password-file=/etc/rsyncd/rsyncd.pass $SRCDIR root@${DESTHOST}::mp3 &>/dev/null && \
           echo "At ${TIME} on ${DATE}, file $FILECHANGE was backed up via rsync" >> /var/log/mp3sync.log
    done
  5.  修改此文件权限
    #修改权限 
    #chmod u+x /var/tmp/auto_sync.sh
    #启动服务
    # /var/tmp/auto_sync.sh &
    #开机自动运行
    # echo '/var/tmp/auto_sync.sh &' >> /etc/rc.local 
  6. 验证是否成功,在服务器对应目录下新增一个文件,去客户端目录下查看是否有此文件。



 

  • 大小: 15.1 KB
  • 大小: 3.5 KB
分享到:
评论

相关推荐

    rsync+inotify实现服务器之间文件实时同步

    rsync+inotify是一种实现服务器之间文件实时同步的解决方案,该方案可以实时监控文件系统的变化,并将变化同步到备份服务器中,保障数据的一致性和实时性。 rsync是一种文件同步工具,可以实现触发式的文件同步,但...

    CentOS下用rsync+inotify实现实时同步

    rsync+inotify可以应用于文件服务器、备份系统、数据中心等领域,实现文件之间的实时同步备份,提高数据安全性和可靠性。 CentOS 7下用rsync+inotify实现实时同步可以实现文件之间的实时同步备份,具有高效、可靠、...

    rsync+inotify 实时远程同步

    我们将在服务器之间建立 Rsync 服务器,然后使用 inotify 监控文件系统的变化,並实时同步文件。 Rsync 服务器配置 首先,我们需要在服务器上安装 Rsync。使用以下命令安装 Rsync: ``` [root@mail named]# rpm -q...

    rsync+inotify实时同步

    rsync+inotify 是一种高效的实时文件同步解决方案,尤其适用于需要确保数据安全性和可靠性的大型应用系统。rsync 是一个强大的文件同步工具,而 inotify 是 Linux 内核提供的一种文件系统事件监控机制。它们结合使用...

    rsync+inotify实现服务器之间目录文件实时同步

    ### rsync+inotify 实现服务器之间目录文件实时同步 #### 软件简介与应用场景 **rsync** 是一种高效且广泛使用的文件同步工具,主要用于远程数据备份、镜像和迁移场景。相较于传统的 `cp` 和 `tar` 备份方式,...

    rsync + inotify实时同步项目详细笔记实战案例

    本文档记录了使用 rsync 和 inotify 实现实时同步项目的详细笔记实战案例。rsync 是一个功能强大的文件同步工具,而 inotify 是一种 Linux 内核提供的文件系统事件侦听机制。通过将这两种技术结合使用,可以实现实时...

    rsync+inotify数据实时同步.pdf

    首先,rsync是一种基于Rsync算法的远程同步工具,能够高效地同步文件和目录,支持本地文件系统和远程文件系统之间的同步。它能够检测文件变化并只传输变化的部分,从而提高同步效率,特别适合于文件更新频繁的环境。...

    两台linux服务器目录实时同步(Rsync+Inotify)

    通过上述步骤,我们成功地在两台Linux服务器之间实现了基于`Rsync`与`Inotify`的实时目录同步方案。这种方案不仅能够确保数据的一致性和实时性,还能极大地提高数据同步的效率,适用于各种需要频繁更新数据的场景。...

    rsync+inotify实时同步用到的资源

    rsync和inotify是Linux系统中的两个重要工具,它们在数据同步和监控文件系统变化方面发挥着关键作用。本文将详细介绍这两个工具以及如何结合使用它们实现实时同步。 **rsync** 是一个强大的、高效的文件同步工具,...

    rsync+inotify开机自启动实时同步增量备份

    rsync+inotify开机自启动实时同步增量备份是通过使用rsync与inotify结合来实现Linux系统中文件的实时同步和增量备份。rsync是一个快速且灵活的文件传输工具,而inotify则是一个内核特性,它可以监控文件系统的变化。...

    rsync + inotify 实现异地文件数据同步

    本文将详细探讨如何使用rsync结合inotify工具实现高效、实时的异地文件数据同步。 rsync是一款强大的文件同步工具,它能快速地比较并同步本地或远程文件,支持增量传输,从而节省网络带宽。rsync的核心特性包括: ...

    Centos6.3下rsync+inotify安装配置

    而 inotify 是 Linux 内核提供的一种文件系统事件监控机制,可以从文件系统级别的细粒度事件(如创建、删除、修改、移动等)出发,触发 rsync 的同步操作,从而避免了传统 crond 定时任务可能导致的效率低下和实时性...

    rsync+inotify实现远程文件时时同步

    rsync+inotify实现远程文件时时同步,实现多台服务器的文件同步

    4-rsync+inotify实时上行同步.docx

    **rsync** 是一款用于数据同步的强大工具,它通过高效的算法来减少数据传输量,非常适合远程数据同步和备份。 - **主要特点**: - **增量同步**:仅传输文件差异部分,极大减少了网络带宽消耗。 - **支持多种协议...

    服务器目录实时同步部署手册_rsync.docx

    《服务器目录实时同步部署手册——基于rsync与inotify》 在现代的IT环境中,保持数据的一致性和可用性至关重要。对于多服务器架构,实时文件同步成为了一个必要且高效的解决方案。本文将详细介绍如何利用rsync和...

    rsync+inotify实现数据的实时备份.pdf

    rsync 和 inotify 的结合可以实时监控文件系统中的变化,并将变化同步到备份服务器中。 七、结论 rsync 是一个功能强大且灵活的文件同步工具,通过 rsync 和 inotify 的结合,可以实现数据的实时备份,提高数据...

    过rsync inotify-tools ssh实现触发式远程实时同步

    本文将详细介绍如何使用 `rsync`、`inotify-tools` 和 `SSH` 来实现触发式的远程实时同步。 #### 二、基础知识简介 1. **rsync**:一个快速的数据传输工具,支持本地文件复制以及远程文件复制。它通过比较源文件和...

Global site tag (gtag.js) - Google Analytics