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

29 unix ubuntu

我们的服务器运行的是 Ubuntu Linux,二进制文件是一个大型 MongoDB 集合的 BSON 转储。一个工具有多可靠split?有没有更快或更好的方法来做到这一点?

leo*_*loy 30

要拆分,拆分 -b

要加入,只需cat

AFAIK 他们是完全可靠的,我怀疑有没有更有效的东西。


小智 28

split 是非常可靠的。我们使用它来移植大型日志文件,它可以很好地处理高达几 GB(无论如何都不是 50 GB)。

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

拆分为 5GB 的文件

split --bytes=5G 输入文件

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

连接

猫 x* > 输出文件

通过这种方式,您可以在另一端连接为单个文件。


Jos*_*ber 6

split&cat是完全可靠的。您还可以像这样进行内联压缩。假设您的输入文件是dump.bson

gzip < dump.bson | split -b 32M - dump.bson.gz.
Run Code Online (Sandbox Code Playgroud)

然后用这个重构:

cat dump.bson.gz.* | gunzip > dump.bson
Run Code Online (Sandbox Code Playgroud)

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