红联Linux门户
Linux帮助

Linux rsync同步大量文件及目录的处理

发布时间:2015-09-11 11:17:40来源:linux网站作者:me_lawrence

1,之前使用了 rsync 增量同步的方式。即服务端作为生产站点,客户端作为备份站点。当目录文件达18GB时,每个文件20KB左右时,10级目录。光du -sh就会执行7,8个小时。rsync做一次同步时,也需要花费这么长的时间。原因是生产站点记为SiteA,备份站点记为Site B。Site B同步时,需要比较与A的区别,而后才能具体同步对应的文件。实际比较的过程会在Site A上消耗大量的IO,因为Site A需要读取出来,告诉Site B自己是什么样的。通过ionice可以让业务正常触发,但是同步时间过长不能接受。


2,因此,减少比较时间才是本次优化的重点。实际能够解决的有效方式:第一,先记录变化的文件和目录,第二,同步这些变化的目录。关于记录变化的文件和目录这一点,a.可以考虑使用inotifywait,但是我没有试过;b. 自己记录也是一条路,不过多个进程修改时,会破坏事务性,也会增加程序的工作。关于同步这些变化的目录,rsync就可以轻松搞定。


sersync:基于rsync+inotify实现数据实时同步:http://www.linuxdiyf.com/linux/13365.html

Linux系统文件同步rsync+ssh+inotify+unison实现:http://www.linuxdiyf.com/linux/11444.html

跨服务器/客户端的备份命令:rsync的使用:http://www.linuxdiyf.com/linux/11950.html

Shell脚本:使用rsync备份文件/目录:http://www.linuxdiyf.com/linux/12696.html

Rsync+Linux客户端+Windows客户端配置:http://www.linuxdiyf.com/linux/10369.html