rsync+inotify实现数据单向实时同步

rsync+inotify实现数据单向实时同步,第1张

rsync+inotify实现数据单向实时同步

服务器用于即时与从服务器共享数据信息。

主IP地址:192.168.1.39(节点1)

从站的IP地址:192.168.1.40(node2)

一、配备从服务器

  • 从服务器安装rsync,建立和装备rsync文档。

  • [root@node2~]#yuminstall-yrsync hostsallow=192.168.1.39 hostsdeny=* list=true uid=root GID=root PIDfile=/var/run/rsyncd.PID lockfile=/var/run/rsync.lock logfile=/var/log/rsyncd在从属服务器上建立相同的文件名,并启动rsync来检查进程和被监控的端口号。

    [root@node2 ~]# mkdir -p /data/node2 [root@node2 ~]# rsync --daemon [root@node2 ~]# ps -ef | grep rsync| grep -v "grep" root      1723     1  0 22:17 ?        00:00:00 rsync --daemon [root@node2 ~]# netstat -anpt | grep rsync tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN      1723/rsync           tcp        0      0 :::873                      :::*                        LISTEN      1723/rsync

    3.手动检测rsync的交互。

    [root@node2 ~]# cd /data/node2/ [root@node2 node2]# echo "123456">a.txt [root@node2 node2]# echo "abcd">b.txt   [root@node2 node2]# cat a.txt b.txt  123456 abcd [root@node1 ~]# yum install -y rsync(在master上安裝rsync) [root@node1 ~]# mkdir -p /data/node1 [root@node1 ~]# rsync -avzP 192.168.1.40::node2 /data/node1/ receiving incremental file list ./ a.txt            7 100%    6.84kB/s    0:00:00 (xfer#1, to-check=1/3) b.txt            5 100%    0.12kB/s    0:00:00 (xfer#2, to-check=0/3) sent 68 bytes  received 180 bytes  23.62 bytes/sec total size is 12  speedup is 0.05 [root@node1 ~]# cd /data/node1/ [root@node1 node1]# ls a.txt  b.txt [root@node1 node1]# cat a.txt b.txt  123456 abcd 手动式检测同歩取得成功。

    二、配备主网络服务器

  • 编译器安装inotify。

  • [root@node1~]#mkdir-p/Taokey/tools [root@node1~]#CD/Taokey/tools/ [root@node1工具]#tar-zxfinotify-tools-3.14.tar.gz [root@node1工具]#CDinotify-tools-3.14 [root@node1inotify-tools-3.14]#。/configure [root@node1inotify-tools-3.14]#make [root@node1notify-tools-3.14]#makeinstall 2.配备了inotify脚本。

    #!/bin/bash host=192.168.1.40 data_dir=/data/node1/ dst=node2 /usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $data_dir | while read files    do    #rsync -avzP $host::$dst $data_dir    rsync -avzP --delete --progress $data_dir $host::$dst    echo "${files} was rsynced" >> /tmp/rsync.log 2>&1  done [root@node1 inotify-tools-3.14]# chmod ux inotify_rsync.sh  [root@node1 inotify-tools-3.14]# bash inotify_rsync.sh & [1] 4533 [root@node1 inotify-tools-3.14]# ps -ef | grep inoti | grep -v "grep" root      4533  1880  0 18:02 pts/1    00:00:00 bash inotify_rsync.sh root      4534  4533  0 18:02 pts/1    00:00:00 /usr/local/bin/inotifywait -mrq --timefmt %d/%m/%y %H:%M --format %T %w%f%e -e modify,delete,create,attrib /data/node1/ root      4535  4533  0 18:02 pts/1    00:00:00 bash inotify_rsync.sh

    3.检查从主网络服务器到从服务器的数据信息。

    [root@node1 ~]# cd /data/node1/ [root@node1 node1]# ls a.txt  b.txt [root@node1 node1]# touch c.txt [root@node1 node1]# sending incremental file list ./ c.txt            0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/4) sent 111 bytes  received 30 bytes  13.43 bytes/sec total size is 12  speedup is 0.09 sending incremental file list sent 72 bytes  received 8 bytes  7.62 bytes/sec total size is 12  speedup is 0.15 [root@node1 node1]#  [root@node2 node2]# ls a.txt  b.txt  c.txt [root@node1 node1]# rm -rf a.txt  [root@node1 node1]# sending incremental file list ./ deleting a.txt sent 61 bytes  received 11 bytes  6.86 bytes/sec total size is 5  speedup is 0.07 [root@node1 node1]#  [root@node2 node2]# ls b.txt  c.txt 实验取得成功!

    欢迎分享,转载请注明来源:内存溢出

    原文地址: http://outofmemory.cn/zz/783677.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-05-04
    下一篇 2022-05-04

    发表评论

    登录后才能评论

    评论列表(0条)

    保存