rsync增量传输大文件优化技巧

摘要:
问题是rsync对于同步数据非常有用,尤其是增量同步。rsync的具体增量同步算法尚不清楚。根据其性能,当增量同步现有文件时,它可以验证传输的数据是否与源文件一致,然后在验证完成后继续增量同步文件的剩余数据。方法我在午夜花了一个多小时检查rsync文档,发现有一个参数可以快速恢复大型文件的增量同步,即append。设置–append参数将在增量同步期间计算文件大小,并将新数据直接附加到文件,从而节省IO验证过程。

问题


rsync用来同步数据非常的好用,特别是增量同步。但是有一种情况如果不增加特定的参数就不是很好用了。比如你要同步多个几十个G的文件,然后网络突然断开了一下,这时候你重新启动增量同步。但是发现等了好久都没有进行数据传输,倒是机器的IO一直居高不下。

原因


rsync具体的增量同步算法不太清楚。根据它的表现来看,可能在增量同步已经存在的一个文件时,会校验已传输部分数据是否已源文件一致,校验完成才继续增量同步这个文件剩下的数据。所以如果对一个大文件以这样的算法来增量同步是非常花时间并且占用IO资源的。

方法


半夜花了一个多小时查看了rsync的文档,发现有一个参数能快速恢复大文件的增量同步,–append。设置–append参数会在增量同步时计算文件 大小并直接追加新的数据到文件,这样就省了费IO校验的过程。不过这个参数最好只在源文件和目标文件都不会更改的时候使用比较安全,比如备份的文件。

本文出自 Linux运维日志,转载时请注明出处及相应链接。

本文永久链接: https://www.centos.bz/2015/10/rsync-transfer-big-file-optimizer-trick

免责声明:文章转载自《rsync增量传输大文件优化技巧》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇tomcat服务的启动与隐藏启动(win)在Multisim中点亮白炽灯下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

rsync + inotify 实现主机间数据实时同步的原理

一、rsync实现两台服务器数据同步的原理:        Rsync 是基于rsync算法校验源(SRC)与目标(DEST)之间的差异实现数据同步的。也就是说,当使用rsync工具同步数据时候,只复制源(SRC)发生改变的文件,到目标(DEST),这类似于增量备份。所以rsync同步数据的速度是很快的。但是rsync的传输性能有点差,在海量小文件需要同步...

rsync用于同步目录

rsync是unix/linux下同步文件的一个高效算法,它能同步更新两处计算机的文件与目录,并适当利用查找文件中的不同块以减少数据传输。rsync中一项与其他大部分类似程序或协定中所未见的重要特性是镜像是只对有变更的部分进行传送。rsync可拷贝/显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝。rsync利用由Andrew Tridgell...

rsync命令

一。rsync中exclude的使用:如果排除的文件比较多时,使用一个文件定义要排除的文件或文件夹,使用--exclude-from=file 来执行。注意exclude前面是二个"-" rsync的exclude非常好用,cp,mv都没有这样的exclude参数。唯一注意是eclucde后面的文件或文件夹必须是相对路径。所以最好提前进入源目录比较方便。...

rsync 故障排查整理

                                     Rsync服务常见问题汇总 ================================================================== 1 客户端的错误现象:No route to host  rsync服务端开启的iptables防火墙    [root...

rsync 守护进程模式小记

.rsync英文称为remote synchronizetion,可以在本地或者远程两台主机之间快速传输数据,做到远程同步备份。相比scp,cp的全量备份,rsync还可以增量备份。   远程方式:(普通推,拉方式)#拉取远程服务器目录及目录下的文件[root@web01 ~]# rsync -avz root@172.16.1.41:/tmp  ./#拉...

rsync(一):基本命令和用法

以下是rsync系列篇: 1.1 说在前面的话 rsync官方网站: https://www.samba.org/ftp/rsync/rsync.html rsync是可以实现增量备份的工具。配合任务计划,rsync能实现定时或间隔同步,配合inotify或sersync,可以实现触发式的实时同步。 rsync可以实现scp的远程拷贝(rsync不支持远程...