首页 > 代码库 > inotify-tools与rsync 同步

inotify-tools与rsync 同步

环境:redhat 6.4-64

主机:10.1.1.2

镜像机:10.1.1.3

目标:将主机上的更新问题及时同步到镜像机上


  1. 在主机上安装inotify-tools-3.13.tar.gz

    tar -xvf inotify-tools-3.13.tar.gz

    cd inotify-tools-3.13

    ./configure

    make && make install

  2. 在主机上新建同步脚本

    vim /opt/shells/rsync.sh

    内容为:


    #!/bin/sh

    /usr/local/bin/inotifywait -mrq --timefmt ‘%d/%m/%y %H:%M‘ --format ‘%T %w%f‘ -e modify,delete,create,attrib /home/aaa/appData/ | while read file

    do

     rsync -vzrtopg --progress /home/aaa/appData/appData.txt  10.1.1.3::image/

       echo $file >> /var/log/langfang_rsync.txt

    done

    上边是检查/home/aaa/appData/ 目录下的变动

    下边是将/home/aaa/appData/ 目录的内容同步至10.1.1.3机器上的image模块,中间的::是规定格式,image模块将在镜像机定义,

  3. 在主机上启动

    /etc/init.d/xinetd start

  4. 在备机上新建文件

    vim /etc/rsyncd.conf

    内容:


    port = 873

    log file = /var/log/rsyncd.log

    pid file = /var/run/rsyncd.pid

    [image]

    uid = root

    gid = root

    path = /data/inth/

    read only = no

    [config]

    uid = root

    gid = root

    path = /

    read only = no

    incoming chmod = Du=rwx,Dog=rx,Fu=rwx,Fgo=rx

    [backup]

    uid = root

    gid = root

    path = /

    read only = no

    incoming chmod = Du=rwx,Dog=rx,Fu=rwx,Fgo=rx

  5. 启动

    /etc/init.d/xinetd start

  6. 在主机上执行后台脚本

    nohup /opt/shells/rsync.sh &

  7. 在镜像机修改文件

    vim /etc/xinetd.d/rsync

    将:disable = yes  修改为  disable = no

    重启xined

    /etc/init.d/xinetd restart

  8. 在主机上执行

    rsync -vzrtopg --progress /test/appData.txt  10.1.1.204::image/

    如果出现如下表示成功:

    wKioL1RiGTajKEeiAADbTQM71KA790.jpg

  9. 这次修改主机上的文件应该就能同步成功了

inotify-tools与rsync 同步