web-dev-qa-db-ja.com

50 GBのバイナリファイルを5 GB以下のチャンクに分割し、後で再構築する最も速くて信頼できる方法は何ですか?

私たちのサーバーはUbuntu Linuxを実行しており、バイナリファイルは大規模なMongoDBコレクションのBSONダンプです。 splitのようなツールはどの程度信頼できますか?これを行うためのより速いまたはより良い方法はありますか?

28
rmh

分割するには、 split -b

参加するには、catだけです。

私の知る限り、それらは完全に信頼できます。

28
leonbloy

分割は非常に信頼できます。大きなログファイルを移植するために使用し、最大数GBまで正常に機能しました(とにかく50 GBではありません)。

要件に応じて分割を使用してみてください。私たちに知らせてください。

5GBファイルに分割

split --bytes = 5G入力ファイル

5GBの複数のファイルに分割され、xaa、xab、xacなどの名前が付けられます。

連結

猫x *>出力ファイル

これにより、相手側で1つのファイルとして連結できます。

23
thegeek

splitcatは完全に信頼できます。さらに、このようにインラインで圧縮できます。入力ファイルが_dump.bson_であるとします。

_gzip < dump.bson | split -b 32M - dump.bson.gz.
_

そして、これで再構成します:

_cat dump.bson.gz.* | gunzip > dump.bson
_

ヒント:これは、xz(dec)の代わりにg(un)Zipを使用しても同様に機能します。

4
Joshua Huber

Rarがインストールされている場合、それは私にとって非常にうまくいきます:

分離する

rar a -m0 -v5000m newfilename giantfile.foo
  • a =アーカイブするファイルを追加する
  • m0 =圧縮なし
  • v5000m = 5000メガバイトのチャンクに分割

再構成するには:

unrar x newfilename.*
  • x =抽出

メリット:

  • 分割アーカイブの内容に関するCRC、
  • 分割ファイルの順序は自動的に維持され、
  • 複数のファイルとディレクトリを含めることができます。
3
Corey Farwell