大文件同步有什么好办法?

扁豆焖面先生 发布于 2014/07/31 16:33
阅读 970
收藏 1


如题,大文件同步有什么好的办法?主要是如何判断其是否已经同步完毕然后再进行节点分发。

请不要简单的告诉我使用rsync,我也知道。

目前的问题:

crontab的执行时间为每3分钟一次,一般都是百十来兆的文件没什么问题,但是偶尔会有几个上G的文件需要同步,3分钟时间就不够,会导致rsync起了一堆的进程,然后... 就没有然后了。

ps:我没有说rsync不好,只是这个东东有没有可配置的,比如说我上次同步未完成,这次就不要再起进程了

感谢!


加载中
0
prpr
prpr

rsync在同步文件filename的时候,似乎是先创建一个 .filename.randomhash 文件,这个文件的大小会不断增加,当同步完成,文件名就改为 filename

因此我的想法是判断文件是否存在就可以了

0
淡定的wo
淡定的wo

为什么使用rsync?

因为大文件大部分内容相同,不是每次都需要同步。自然应该pass掉相同的内容,既然这样为什么不能是rsync?

rsync在网络传输时,会对比源和目的端的文件,相同部分pass,差异部分压缩传输。

唯一的问题:对比文件时,读取两边的文件,短时间占用系统IO资源比较明显。好一点的服务器可以忽略这个问题。

楼主对rsync还是自己测试测试再下结论吧!

淡定的wo
淡定的wo
回复 @Lvfifi : 不好意思,错别字。 “这个不是问题”
淡定的wo
淡定的wo
关于多rsync进程的问题,自己写一个shell,发现有rsync运行。下次crontab的时候跳过,不执行即可。这个不是文件。 inotify是对实时性要求很高才用。对大文件来说,我个人觉得场景不合适。
Feng_Yu
Feng_Yu
回复 @Mr6 : 不会,rsync会先对比再同步,已经同步过的数据是不会再同步的,完全可以放心大胆的使用。觉得crontab不可靠,还可以用Inotify实时同步
扁豆焖面先生
扁豆焖面先生
crontab的执行时间为每3分钟一次,一般都是百十来兆的文件没什么问题,但是偶尔会有几个上G的文件需要同步,3分钟时间就不够,会导致rsync起了一堆的进程。
0
Yisen
Yisen
同步完毕就是文件一样,md5一下判断
返回顶部
顶部