将50GB二进制文件拆分为5GB或更小的块,然后稍后重新组装的最快,最可靠的方法是什么?


26

我们的服务器运行的是Ubuntu Linux,该二进制文件是大型MongoDB集合的BSON转储。工具的可靠性如何split?有更快或更更好的方法吗?

Answers:


26

要拆分,请拆分-b

要加入,只需cat

据我所知,它们是完全可靠的,我怀疑还有什么更有效的方法。


21

拆分非常可靠。我们使用它来移植大型日志文件,它在高达几个GB(无论如何都不是50 gb)的情况下都可以很好地工作。

我相信您可以尝试使用拆分来满足您的要求,并告诉我们。

分割成5GB档案

split --bytes = 5G输入文件

它将拆分为5GB的多个文件,并将其命名为xaa,xab,xac等。

级联

猫x *>外档

这样,您可以将另一端连接为单个文件。


1
在OS XI上,必须使用split -b50m来制作50 MB的文件。注意没有等号,注意小写。
funroll

3

如果您安装了rar,对我来说效果很好:

分开

rar a -m0 -v5000m newfilename giantfile.foo
  • a =将文件添加到存档
  • m0 =无压缩
  • v5000m =分成5000兆字节的块

重新组装:

unrar x newfilename.*
  • x =提取

优点:

  • 分割档案内容的CRC,
  • 拆分文件排序自动保持,
  • 可以包含多个文件和目录。

3

splitcat完全可靠。您还可以像这样在线压缩。假设您的输入文件是dump.bson

gzip < dump.bson | split -b 32M - dump.bson.gz.

然后重新构成:

cat dump.bson.gz.* | gunzip > dump.bson

提示,xz(dec)代替g(un)zip

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.