rsync模糊文件池创建

fuzzif的Python项目详细描述


rsync fuzzy文件池管理器

rsync使用它的–fuzzy标记在一个已转换的文件目录中查找相似的文件,但是没有正确地索引和搜索整个文件集以查找匹配的文件。这样做的结果是,当文件移动或从文件集中删除并再次替换时,rsync将失去匹配远程内容和进一步节省带宽的能力。

fuzzify简单地将一个池设置为一个临时目录,其中文件集的硬链接被分组到表示文件大小(或可选的sha256内容总和)的目录中,并以类似的方式命名,这样rsync就可以很容易地找到并匹配在整个文件中具有相同可能性的文件。准备好了。

fuzzify在源目录和目标目录下本地和远程运行后,rsync可以在整个文件集上再次运行,因为它的字母数字调整的目录名是...fuzzify`,所以首先处理池的文件集上会有--hard-links标记。

如果运气好的话,在办公环境中会有很多机会,已经移动的文件不会被重新传输到远程位置。

如果您打算备份文件,那么fuzzify准备时间当然是一个考虑因素。它运行得很快,希望它运行得足够快,在您的情况下节省带宽是值得的。

您可以选择在脏模式下运行fuzzify。当文件从文件集中删除时,它们将以某种方式保留在fuzzify池中,当它们还原到文件集中时,rsync很可能会找到匹配的文件。由于每次刷新池时都会通过硬链接保留所有文件,因此可能不希望将池保持很长时间。

示例会话

在本地:

fuzzify --logging=debug /sourcedir/

在遥控器上:

fuzzify --logging=debug /destdir/

rsync:

rsync -avPHS –human-readable –stats –fuzzy /sourcedir/…fuzzify /sourcedir/ remote:/destdir/ –delete –delete-after

然后根据需要在sourcedir和destdir中删除…fuzzify。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java爬虫获取外部网站搜索结果   java Bluestack未连接到eclipse   java如何从ConstraintViolationException Hibernamte获取数据库字段名   HttpResponse HttpResponse=httpClient引发java运行时错误。执行(httpPost);   Jama中矩阵的java点积和叉积   java有什么方法可以唯一地识别可扩展设备吗?   java我需要用*来写我的名字,但我不断遇到一个错误,我对编码很陌生   java变量是在内部类中访问的。需要被宣布为最终决定。但我不想宣布最终结果   java如何缩短base64图像字符串,Android?   JavaSpringMVC:计划方法不自动触发   图形学习Java 2D API的好资源是什么?   如何在java中对方法进行排队   java JavaFX多行   java Selenium无法在[链接]上找到基于CSS元素的密码字段元素http://www.cartasi.it/gtwpages/index.jsp   Java中的equals()和hashCode()契约   软删除情况下的java Hibernate二级缓存   java为什么这段代码要两次调用这些方法?