当前位置:  开发笔记 > 后端 > 正文

保持rsync删除未完成的源文件

如何解决《保持rsync删除未完成的源文件》经验,为你挑选了2个好方法。

我有两台机器,速度和质量.speed具有快速的Internet连接,并且正在运行将大量文件下载到磁盘的爬虫.质量有很多磁盘空间.我想在下载完成后将文件从速度移动到质量.理想情况下,我只是运行:

$ rsync --remove-source-files speed:/var/crawldir .

但我担心rsync会取消尚未完成下载的源文件的链接.(我查看了源代码,但我没有看到任何可以防止这种情况的内容.)有什么建议吗?



1> Jason Cohen..:

在我看来,问题是在文件完成之前传输,而不是你要删除它.

如果这是Linux,则进程A可以打开文件,进程B可以取消链接文件.没有错误,但当然A浪费时间.因此,rsync删除源文件的事实不是问题.

问题是rsync只有在复制后才删除源文件,如果它仍然被写入磁盘,你将有一个部分文件.

怎么样:挂载mass为远程文件系统(NFS可以工作)speed.然后直接对文件进行Web爬网.



2> Paul Tomblin..:

您对下载过程有多少控制权?如果您自己滚动,则可以将正在下载的文件转到临时目录,或者在完成下载之前使用临时名称,然后在完成后将其命名为正确的名称.如果您使用的是第三方软件,那么您没有那么多控制权,但您仍然可以执行临时目录.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有