rsync同步操作,inotify实时同步,Cobbler平台装机

本例要求掌握远程同步的基本操作,使用rsync命令完成下列任务:

  1. 将目录 /boot 同步到目录 /todir 下
  2. 将目录 /boot 下的文档同步到目录 /todir 下
  3. 在目录 /boot 下新增文件 a.txt,删除 /todir 下的子目录 grub2,再次同步使 /todir 与 /boot 一致
  4. 验证 -a、-n、-v、--delete 选项的含义

1.2 方案

本地同步操作:

  • rsync [选项...] 本地目录1 本地目录2
  • rsync [选项...] 本地目录1/ 本地目录2

rsync同步工具的常用选项:

  • -n:测试同步过程,不做实际修改
  • --delete:删除目标文件夹内多余的文档
  • -a:归档模式,相当于-rlptgoD
  • -v:显示详细操作信息
  • -z:传输过程中启用压缩/解压

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:rsync同步基本操作

1)将目录 /boot 同步到目录 /todir 下

  1. [[email protected] ~]# ls -l /todir                 //同步前
  2. ls: 无法访问/todir: 没有那个文件或目录
  3. [[email protected] ~]# rsync -a /boot /todir         //将目录1作为目录2的子目录
  4. [[email protected] ~]# ls -l /todir                 //检查同步结果
  5. 总用量 4
  6. dr-xr-xr-x. 4 root root 4096 11月 30 18:50 boot

2)将目录 /boot 下的文档同步到目录 /todir 下

  1. [[email protected] ~]# rm -rf /todir                 //清理掉目录2
  2. [[email protected] ~]# rsync -a /boot/ /todir         //将目录1下的文档同步到目录2下
  3. [[email protected] ~]# ls -l /todir                 //检查同步结果
  4. 总用量 126708
  5. -rw-r--r--. 1 root root 126426 10月 30 2015 config-3.10.0-327.el7.x86_64
  6. drwxr-xr-x. 2 root root 4096 11月 30 18:50 extlinux
  7. drwx------. 6 root root 104 12月 9 09:58 grub2
  8. .. ..

3)同步效果测试

在目录/boot下新增文件a.txt,删除/todir下的子目录 grub2:

  1. [[email protected] ~]# touch /boot/a.txt
  2. [[email protected] ~]# rm -rf /todir/grub2/

现在目录/boot和/todir目录下的内容已经不一致了:

  1. [[email protected] ~]# ls -ld /boot/a.txt /todir/a.txt
  2. ls: 无法访问/todir/a.txt: 没有那个文件或目录
  3. -rw-r--r--. 1 root root 0 1月 11 21:09 /boot/a.txt
  4. [[email protected] ~]# ls -ld /boot/grub2 /todir/grub2
  5. ls: 无法访问/todir/grub2: 没有那个文件或目录
  6. drwx------. 6 root root 104 12月 9 09:58 /boot/grub2

再次同步使/todir与/boot一致:

  1. [[email protected] ~]# rsync -a /boot/ /todir/

确认同步结果:

  1. [[email protected] ~]# ls -ld /boot/a.txt /todir/a.txt
  2. -rw-r--r--. 1 root root 0 1月 11 21:09 /boot/a.txt
  3. -rw-r--r--. 1 root root 0 1月 11 21:09 /todir/a.txt
  4. [[email protected] ~]# ls -ld /boot/grub2 /todir/grub2
  5. drwx------. 6 root root 104 12月 9 09:58 /boot/grub2
  6. drwx------. 6 root root 104 12月 9 09:58 /todir/grub2

步骤二:验证 -a、-v、-n、--delete 选项的含义

1)验证-a选项

当目录1包含文件夹时,若缺少-a或-r选项则文件夹会被忽略:

  1. [[email protected] ~]# rsync /home /testa
  2. skipping directory home
  3. [[email protected] ~]# ls -ld /testa
  4. ls: 无法访问/testa: 没有那个文件或目录

添加-a后才会执行同步:

  1. [[email protected] ~]# rsync -a /home/ /testa
  2. [[email protected] ~]# ls -ld /testa
  3. drwxr-xr-x. 4 root root 31 1月 6 17:33 /testa

类似的情况,当目录1中的数据出现权限、归属、修改时间等变化时,若文件内容不变默认不会同步,若希望目录2也同步这些变化,也需要-a选项。

2)验证-v选项

创建测试目录及文档:

  1. [[email protected] ~]# mkdir /fdir
  2. [[email protected] ~]# touch /fdir/1.txt

添加-v选项时,可以看到操作细节信息,比如第一次同步时:

  1. [[email protected] ~]# rsync -av /fdir/ /tdir
  2. sending incremental file list
  3. created directory /tdir
  4. ./
  5. 1.txt                                 //传输文档列表
  6. sent 82 bytes received 34 bytes 232.00 bytes/sec
  7. total size is 0 speedup is 0.00

在目录/fdir/添加文件2.txt,再次跟踪同步信息:

  1. [[email protected] ~]# touch /fdir/2.txt
  2. sending incremental file list
  3. ./
  4. 2.txt                                 //传输文档列表
  5. sent 100 bytes received 34 bytes 268.00 bytes/sec
  6. total size is 0 speedup is 0.00

确认目录1和目录2的内容已经一致:

  1. [[email protected] ~]# ls /fdir/ /tdir/
  2. /fdir/:
  3. 1.txt 2.txt
  4. /tdir/:
  5. 1.txt 2.txt

再次跟踪同步信息,已经无需传输文件:

  1. [[email protected] ~]# rsync -av /fdir/ /tdir
  2. sending incremental file list
  3. sent 58 bytes received 12 bytes 140.00 bytes/sec
  4. total size is 0 speedup is 0.00

3)验证-n选项

将-n、-v选项合用,可以模拟同步过程,显示需要做哪些操作(但并不真的同步)。

在目录/fdir下新建文件3.txt,测试同步操作:

  1. [[email protected] ~]# touch /fdir/3.txt
  2. [[email protected] ~]# rsync -avn /fdir/ /tdir/
  3. sending incremental file list
  4. ./
  5. 3.txt                                         //提示同步时会传输哪些文件
  6. sent 78 bytes received 18 bytes 192.00 bytes/sec
  7. total size is 0 speedup is 0.00 (DRY RUN)
  8. [[email protected] ~]# ls -l /tdir/3.txt                 //但实际并未真的同步
  9. ls: 无法访问/tdir/3.txt: 没有那个文件或目录

去掉-n选项才会真正同步:

  1. [[email protected] ~]# rsync -av /fdir/ /tdir/
  2. sending incremental file list
  3. ./
  4. 3.txt
  5. sent 114 bytes received 34 bytes 296.00 bytes/sec
  6. total size is 0 speedup is 0.00
  7. [[email protected] ~]# ls -l /tdir/3.txt
  8. -rw-r--r--. 1 root root 0 1月 11 21:46 /tdir/3.txt

4)验证--delete选项

rsync同步操作默认只是将目录1的数据同步到目录2,但如果目录2存在多余的文件却并不会去除,除非添加—delete选项。

在目录/fdir、/tdir已经完成同步后,删除/tdir/2.txt文件,再次同步:

  1. [[email protected] ~]# rm -rf /fdir/2.txt
  2. [[email protected] ~]# rsync -a /fdir/ /tdir/

检查发现目标文件夹/tdir下的2.txt文件还在:

  1. [[email protected] ~]# ls /fdir/ /tdir/
  2. /fdir/:
  3. 1.txt 3.txt
  4. /tdir/:
  5. 1.txt 2.txt 3.txt

这种情况下添加--delete选项再次执行同步,两个目录的内容就一致了:

  1. [[email protected] ~]# rsync -a --delete /fdir/ /tdir/
  2. [[email protected] ~]# ls /fdir/ /tdir/
  3. /fdir/:
  4. 1.txt 3.txt
  5. /tdir/:
  6. 1.txt 3.txt

2 案例2:rsync+SSH同步

2.1 问题

本例要求掌握rsync与远程SSH资源的同步操作,使用rsync命令访问远程主机svr7,完成下列任务:

  1. 查看远程主机的 / 目录下有哪些子目录
  2. 从远程主机下载 /etc/passwd 文件到当前目录
  3. 将远程主机的 /boot/ 目录同步为本地的 /fromssh
  4. 将本机的 /etc 目录同步到远程主机的 /opt/下

2.2 方案

列出 SSH 服务端资源

  • rsync [email protected]:远程目录/

rsync+SSH远程同步操作:

  • rsync [...] [email protected]:远程目录 本地目录
  • rsync [...] 本地目录 [email protected]:远程目录

2.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:列出远程主机的SSH资源

查看远程主机svr7的/目录下有哪些子目录:

  1. [[email protected] ~]# rsync [email protected]192.168.4.7:/
  2. [email protected]192.168.4.7‘s password:                         //验证对方的密码
  3. dr-xr-xr-x 4096 2016/12/15 10:39:34 .
  4. lrwxrwxrwx 7 2016/12/07 09:21:50 bin
  5. lrwxrwxrwx 7 2016/12/07 09:21:50 lib
  6. lrwxrwxrwx 9 2016/12/07 09:21:50 lib64
  7. lrwxrwxrwx 8 2016/12/07 09:21:50 sbin
  8. dr-xr-xr-x 4096 2016/12/07 11:25:29 boot
  9. drwxr-xr-x 6 2016/12/07 09:21:14 data
  10. drwxr-xr-x 3200 2016/12/15 10:46:15 dev
  11. drwxr-xr-x 8192 2016/12/20 17:01:02 etc

步骤二:rsync+SSH同步操作

1)从远程主机svr7下载/etc/passwd文件到当前目录

  1. [[email protected] ~]# rsync [email protected]192.168.4.7:/etc/passwd ./
  2. [email protected]192.168.4.7‘s password:                         //验证对方的密码
  3. [[email protected] ~]# cat passwd                             //检查同步结果
  4. root:x:0:0:root:/root:/bin/bash
  5. bin:x:1:1:bin:/bin:/sbin/nologin
  6. daemon:x:2:2:daemon:/sbin:/sbin/nologin
  7. adm:x:3:4:adm:/var/adm:/sbin/nologin
  8. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  9. .. ..

2)将远程主机svr7的/boot/目录同步为本地的/fromssh

  1. [[email protected] ~]# rsync -a [email protected]192.168.4.7:/boot/ /fromssh
  2. [email protected]192.168.4.7‘s password:                         //验证对方的密码
  3. [[email protected] ~]# ls /fromssh/                             //检查同步结果
  4. config-3.10.0-327.el7.x86_64
  5. extlinux
  6. grub2
  7. initramfs-0-rescue-a19921505cc7e19d20dfcd5cea7d8aa2.img
  8. initramfs-3.10.0-327.el7.x86_64.img
  9. initramfs-3.10.0-327.el7.x86_64kdump.img
  10. .. ..

3)将本机的/etc目录同步到远程主机svr7的/opt/下

确认目录大小:

  1. [[email protected] ~]# du -sh /etc
  2. 35M    /etc

上行同步到远程主机svr7上:

  1. [[email protected] ~]# rsync -a /etc [email protected]192.168.4.7:/opt/
  2. [email protected]192.168.4.7‘s password:

在远程主机上检查同步结果:

  1. [[email protected] ~]# du -sh /opt/etc
  2. 35M    /opt/etc

3 案例3:使用inotifywait工具

3.1 问题

本例要求安装inotify-tools工具,并针对文件夹 /opt 启用 inotifywait 监控,完成下列任务:

  1. 当此目录下出现新建、修改、更改权限、删除文件等事件时能给出提示
  2. 验证上述监控事件的效果

3.2 方案

inotifywait监控操作:

  • inotifywait [选项] 目标文件夹

inotifywait常用命令选项:

  • -m,持续监控(捕获一个事件后不退出)
  • -r,递归监控、包括子目录及文件
  • -q,减少屏幕输出信息
  • -e,指定监视的 modify、move、create、delete、attrib 等事件类别

3.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:安装inotify-tools软件包

1)解包

  1. [[email protected] ~]# tar xf inotify-tools-3.13.tar.gz -C /usr/src/

2)配置

  1. [[email protected] ~]# cd /usr/src/inotify-tools-3.13/
  2. [[email protected] inotify-tools-3.13]# ./configure

3)编译

  1. [[email protected] inotify-tools-3.13]# make

4)安装

  1. [[email protected] inotify-tools-3.13]# make

5)检查安装结果(inotifywait程序可用)

  1. [[email protected] ~]# inotifywait --help
  2. inotifywait 3.13
  3. Wait for a particular event on a file or set of files.
  4. Usage: inotifywait [ options ] file1 [ file2 ] [ file3 ] [ ... ]
  5. Options:
  6. -h|--help     Show this help text.
  7. .. ..

步骤二:测试inotifywait监控

1)开启监控任务,置入后台

  1. [[email protected] ~]# inotifywait -mrq -e create,modify,move,attrib,delete /opt &
  2. [1] 55564

2)测试/opt/目录下的新建、修改、改名、更改权限、删除文件等事件的响应消息

观察新建文件时的监控信息:

  1. [[email protected] ~]# touch /opt/a.txt
  2. /opt/ CREATE a.txt
  3. /opt/ ATTRIB a.txt

观察修改文件内容时的监控信息:

  1. [[email protected] ~]# echo Hello > /opt/a.txt
  2. [[email protected] ~]# /opt/ MODIFY a.txt
  3. /opt/ MODIFY a.txt

观察将文件改名时的监控信息:

  1. [[email protected] ~]# mv /opt/a.txt /opt/b.txt
  2. /opt/ MOVED_FROM a.txt
  3. /opt/ MOVED_TO b.txt

观察修改文件权限时的监控信息:

  1. [[email protected] ~]# chmod 600 /opt/b.txt
  2. /opt/ ATTRIB b.txt

观察删除文件时的监控信息:

  1. [[email protected] ~]# rm -rf /opt/b.txt
  2. /opt/ DELETE b.txt

3)停止监控任务

  1. [[email protected] ~]# kill -9 %1
  2. [1]+ 已杀死 inotifywait -mr -e create,modify,move,attrib,delete /opt

4 案例4:配置Web镜像同步

4.1 问题

本例要求为两台Web服务器svr7、pc207的网页文档目录配置镜像同步,主要基于inotifywait监控技术实现实时触发操作,需要完成下列任务:

  1. 以 svr7 为发起方,原始目录为 /var/www/html/
  2. 以 pc207 为同步目标,基于SSH免密验证
  3. 编写 inotify+rsync 同步脚本,验证实时同步效果

4.2 方案

inotifywait与rsync的结合,主要思路:

  1. while inotifywait监控操作
  2. do
  3. 需要执行的rsync同步操作
  4. done

4.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:为主机svr7、pc207部署同步目录

双方的目录均为/var/www/html/,如果安装了httpd,此目录会自动出现。

1)确认svr7的目录内容

  1. [[email protected] ~]# yum -y install httpd
  2. .. ..
  3. [[email protected] ~]# ls /var/www/html/                     //向目录下提供一些测试文件
  4. libreoffice

2)确认pc207的目录内容

  1. [[email protected] ~]# yum -y install httpd
  2. .. ..
  3. [[email protected] ~]# ls /var/www/html                 //初始目录无数据
  4. [[email protected] ~]#

步骤二:为svr7配置到pc207的SSH密钥对验证,实现免密码交互

1)检查当前用户是否已经有可用的SSH密钥对文件

  1. [[email protected] ~]# ls ~/.ssh/id_*
  2. /root/.ssh/id_rsa /root/.ssh/id_rsa.pub

如果找不到id_rsa、id_rsa.pub密钥对文件,则需要执行下列操作创建:

  1. [[email protected] ~]# ssh-keygen
  2. Generating public/private rsa key pair.
  3. Enter file in which to save the key (/root/.ssh/id_rsa):     //按回车,确认存放位置
  4. Enter passphrase (empty for no passphrase):     //按回车,确认不要密码
  5. Enter same passphrase again:                     //再次按回车,确认
  6. Your identification has been saved in /root/.ssh/id_rsa.
  7. Your public key has been saved in /root/.ssh/id_rsa.pub.
  8. The key fingerprint is:
  9. 00:a7:cb:2d:9d:b8:8a:df:f5:ff:5b:ed:bd:04:10:fe [email protected]
  10. The key‘s randomart image is:
  11. +--[ RSA 2048]----+
  12. | . . . |
  13. | + . . |
  14. | . . o |
  15. | . = o o |
  16. | = + S E |
  17. | o .. |
  18. | . . ...|
  19. | . o . . ....|
  20. |..o . ....o. .+|
  21. +-----------------+

2)将当前用户的SSH公钥部署到远程主机

  1. [[email protected] ~]# ssh-copy-id [email protected]192.168.4.207
  2. The authenticity of host ‘192.168.4.207 (192.168.4.207)‘ can‘t be established.
  3. ECDSA key fingerprint is d3:16:2c:9a:9d:91:28:c8:74:9c:af:2d:04:82:c9:66.
  4. Are you sure you want to continue connecting (yes/no)? yes         //首次连yes确认
  5. [email protected]‘s password:                     //验证对方的密码
  6. Number of key(s) added: 1
  7. Now try logging into the machine, with: "ssh ‘[email protected]‘"
  8. and check to make sure that only the key(s) you wanted were added.

3)验证免密码登录效果

  1. [[email protected] ~]# ssh [email protected]192.168.4.207
  2. Last login: Fri Jan 13 09:52:08 2017 from 192.168.4.110
  3. [[email protected] ~]#                                     //确认已免密码连入远程主机
  4. [[email protected] ~]# exit                                 //退出SSH登录环境
  5. 登出
  6. Connection to 192.168.4.207 closed.
  7. [[email protected] ~]#                                     //已反对原客户机

步骤三:编写镜像同步脚本并测试效果

1)编写脚本文件/root/isync.sh

  1. [[email protected] ~]# vim /root/isync.sh
  2. #!/bin/bash
  3. FROM_DIR="/var/www/html/"
  4. RSYNC_CMD="rsync -az --delete $FROM_DIR [email protected]:/var/www/html"
  5. while inotifywait -rqq -e modify,move,create,delete,attrib $FROM_DIR
  6. do
  7. $RSYNC_CMD
  8. done &
  9. [[email protected] ~]# chmod +x /root/isync.sh

2)运行脚本

  1. [[email protected] ~]# /root/isync.sh
  2. [[email protected] ~]# pgrep -l inotify                     //确认任务在运行
  3. 56494 inotifywait

3)测试同步效果

在svr7上向/var/www/html/目录下添加一个测试网页(触发同步):

  1. [[email protected] ~]# touch /var/www/html/a.txt
  2. [[email protected] ~]# ls /var/www/html/
  3. a.txt libreoffice

在pc207上检查/var/www/html/目录,内容应该已经与svr7上的同名目录一致:

  1. [[email protected] ~]# ls /var/www/html
  2. a.txt libreoffice

4)结束测试后,在svr7上停止监控任务

  1. [[email protected] ~]# pkill -9 inotify
  2. [[email protected] ~]# pgrep -l inotify                     //确认已没有监控任务
  3. [[email protected] ~]#

原文地址:https://www.cnblogs.com/chenyiqi777/p/10300587.html

时间: 2024-11-14 11:00:53

rsync同步操作,inotify实时同步,Cobbler平台装机的相关文章

在CentOS7上配置rsync源服务器+inotify实时同步

概述 rsync是一个开源的快速备份工具,可以再不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,且采用优化的同步算法,再传输前执行压缩,因此非常适用于异地备份.镜像服务器等应用. 原理 再远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源.再同步过程中,同步源负责提供文档的原始位置,而发起端对该位置具有读取权限,如图所示: 配置rsync源服务器 1.检查rsync是否安装 [[email protected]

Rsync结合Inotify 实时同步配置

系统环境:192.168.121.128(源) 192.168.121.129(目的) 192.168.121.129(目的)安装rsync服务: yum install rsync 或者 wget rsync官网的rsync-3.1.2.tar.gz编译安装,不需要带参数 ./configure --prefix=/usr/local/rsync cat /etc/rsyncd.conf uid=root//RSYNC守护进程的用户 git=root////运行RSYNC守护进程的组 use 

inotify介绍及rsync + inotify 实时同步备份

1.前言 rsync (remote sync)是一款非常好的数据同步工具,能够通过对比同步双方的数据变动,实现增量同步,还可以通过LAN/WAN实现远程多台主机间文件的同步,还能结合crond任务计划来执行自动备份,又可以结合ssh实现远程数据备份的安全,种种特性使他看起来相当优秀.但如果需备份数据十分庞大时,它的不足之处就显现出来了,比如每次执行同步操作时,rsync都会扫描全部数据进而计算出增量部分,而后再同步增量数据,这将会十分耗时,使其变得低效:并且受限于crond计划任务最小时间间隔

rsync+inotify实时同步环境部署记录

随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足.首先,rsync在同步数据时,需要扫描所有文件后进行比对,进行差量传输.如果文件数量达到了百万甚至千万量级,扫描所有文件将是非常耗时的,并且正在发生变化的往往是其中很少的一部分,这是非常低效的方式.其次,rsync不能实时的去监测.同步数据,虽然它可以通过linux守护进程的方式进行触发同步,但是两次触发动作一定会有时间差,这样就导致了服务端和客户端数据可能出现不一致,无法在应

rsync+inotify实时同步文件

一.inotify简介 inotify是Linux内核2.6.13 (June 18, 2005)版本新增的一个子系统(API),它提供了一种监控文件系统(基于inode的)事件的机制,可以监控文件系统的变化如文件修改.新增.删除等,并可以将相应的事件通知给应用程序.该机制由著名的桌面搜索引擎项目beagle引入用于替代此前具有类似功能但存在诸多缺陷的dnotify. inotify既可以监控文件,也可以监控目录.当监控目录时,它可以同时监控目录及目录中的各子目录及文件的.此外,inotify

rsync远程同步及rsync+inotify实时同步

rsync远程同步及rsync+inotify实时同步 思维代入 正确.有效的备份方案是保障系统及数据安全的重要手段.在服务器中,通常会结合计划性任务.shell脚本来执行本地备份.但有时候为了提高备份的可靠性,异地备份也是非常有必要的.那下面就给大家介绍一种异地远程备份的方法:rsync远程备份. rsync简介 rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份.保持链接和权限,且采用优化的同步算法,在传输前执行压缩,因此非常适用于异地备份.镜像服务等应用

配置rsync+inotify实时同步

配置rsync+inotify实时同步Linux从2.6.13版内核开始提供了inotify通知接口,用来监控文件系统的各种变化情况,如文件的存取,删除,移动,修改内容及属性等.利用这个机制,可以实现文件异动警告,增量备份,针对目录或文件的变化及时做出响应. 将inotify机制与rsync工具结合,可以实现触发式备份(实时同步),只要原始位置的文档发生变化,则立即启动增量备份,否则处于静默等待状态,避免了按固定周期备份是存在的延迟性,周期过密等问题. 正因为inotify通知机制有Linux内

rsync+inotify实时同步

一.Rsync简介: rsync是一个远程数据同步工具,可通过lan/wan快速同步多台主机间的文件.它使用所谓的"rsync演算法"来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快.所以通常可以作为备份工具来使用. 运行rsync server的机器也叫backup server,一个rsync server可同时备份多个client的数据:也可以多个rsync server备份一个client的数据.rsync可以搭配

rsync+inotify实时同步方案

rsync+inotify实时同步,inotify可以实时监控本地文件或目录变化,当检测到本地文件变化,执行rsync同步命令,将变化的文件同步到其他服务器节点. 1.配置环境 3.在服务节点1.服务节点2.内容发布节点,都安装rsync软件:在内容发布节点再安装inotify实时监控软件.安装步骤建上篇. 4.编辑同步脚本 #!/bin/bash/usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y' --format '%T %

rsync+inotify实时同步案例

rsync+inotify实时同步案例 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足,首先,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输.如果文件数量达到了百万甚至千万量级,扫描所有文件将是非常耗时的.而且正在发生变化的往往是其中很少的一部分,这是非常低效的方式.其次,rsync不能实时的去监测.同步数据,虽然它可以通过linux守护进程的方式进行触发同步,但是两次触发动作一定会有时间差,这样就导致了服务