关于存储:使rsync避免删除未完成的源文件

关于存储:使rsync避免删除未完成的源文件

keep rsync from removing unfinished source files

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

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

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


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

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

问题是rsync仅在复制后才删除源文件,并且如果仍将其写入磁盘,则将具有部分文件。

怎么做:在speed中将mass挂载为远程文件系统(NFS可以使用)。然后,直接通过网络抓取文件即可。


您对下载过程有多少控制权?如果自己动手,则可以将要下载的文件转到临时目录,也可以使用临时名称,直到下载完成,然后在完成后将其转换为正确的名称。如果您使用的是第三方软件,则您没有太多控制权,但是您仍然可以执行temp目录操作。


如果您可以控制爬网过程,或者具有可预测的输出,可以使用上述解决方案(将文件存储在临时文件中,直到完成,然后移动到完成下载的位置,或者忽略名称为" .downloading"的文件)可能有用。如果所有这些都超出了您的控制范围,则可以通过执行'lsof $ filename'并检查是否有结果来确保文件没有被任何进程打开。显然,如果没有人打开文件,则将其移动是安全的。


Rsync可以排除与某些模式匹配的文件。即使您无法修改它以使其将文件下载到临时目录,也许它也有一个约定,即在下载过程中对文件进行不同的命名(例如:在下载名为foo的文件时为foo.downloading),并且您可以使用此属性可排除仍在下载中的文件不会被复制。


推荐阅读

    改文件linux命令行?

    改文件linux命令行?,地址,系统,工作,信息,数字,文件,命令,设备,密码,权限,lin

    linux删除本行命令?

    linux删除本行命令?,系统,本行,档案,命令,资料,商业,文件,终端,目录,文件名,L

    打包文件命令linux?

    打包文件命令linux?,系统,时间,工具,名称,命令,文件,目录,格式,表示,详细信

    linux中文件编辑命令?

    linux中文件编辑命令?,系统,工作,工具,信息,地址,发行,命令,第一,检测,基础,l

    linux命令磁盘使用?

    linux命令磁盘使用?,系统,情况,电脑,管理,位置,设备,单位,工具,命令,文件,lin

    linux下文件写入命令?

    linux下文件写入命令?,系统,信息,文件,名字,电脑,软件,目录,命令,内容,指令,l

    linux命令deb文件?

    linux命令deb文件?,软件,位置,第一,系统,中心,工具,信息,发行,网站,管理系统

    linux命令添加文件?

    linux命令添加文件?,工作,简介,数据,系统,文件,命令,操作,文件名,内容,终端,l

    linux文件输入命令?

    linux文件输入命令?,工作,系统,地址,信息,工具,位置,命令,设备,发行,首开,lin

    文件备份命令linux?

    文件备份命令linux?,网站,系统,设备,文件,软件,网络,工具,环境,数据,地址,lin

    linux遍历文件命令?

    linux遍历文件命令?,系统,数据,工具,文件,平台,信息,百度,位置,时间,适当,lin

    linux命令查看小文件?

    linux命令查看小文件?,系统,档案,文件夹,标准,软件,单位,文件,命令,大小,内

    linux命令连接ip?

    linux命令连接ip?,地址,系统,网络,工作,信息,命令,密码,名称,设备,服务,linux

    linux文件中剪切命令?

    linux文件中剪切命令?,位置,系统,工作,命令,发行,连续,标准,终端,文件,目录,l

    linux存储文件命令?

    linux存储文件命令?,系统,地址,工作,命令,软件,电脑,标准,底部,信息,文件,lin

    linux快速删除命令行?

    linux快速删除命令行?,系统,软件,名称,数据,命令,文件,档案,不了,电脑,通用,l

    linux保存命令文件?

    linux保存命令文件?,系统,状态,命令,文件,第一,管理,电脑,模式,编辑,终端,lin

    linux私有文件命令?

    linux私有文件命令?,系统,工作,工具,命令,设备,文件,目录,位置,不了,情况,Lin

    linux清理磁盘命令行?

    linux清理磁盘命令行?,系统,电脑,工具,情况,软件,项目,数据,盘中,信息,命令,

    删除linux文件命令?

    删除linux文件命令?,名称,不了,文件夹,命令,文件,目录,方法,指令,子目录,选