50GB'lık bir ikili dosyayı 5GB'lık veya daha küçük parçalara bölmenin ve daha sonra tekrar birleştirmenin en hızlı ve en güvenilir yolu nedir?


26

Sunucularımızda Ubuntu Linux çalışıyor ve ikili dosya büyük bir MongoDB koleksiyonunun BSON dökümü. Bir araç ne kadar güvenilirdir split? Bunu yapmanın daha hızlı veya daha iyi bir yolu var mı?

Yanıtlar:



21

bölünmüş çok güvenilirdir. Büyük günlük dosyalarını taşımak için kullanıyoruz ve birkaç GB'a kadar çalışıyordu (yine de 50 gb değil).

İhtiyacınız için split'i kullanmayı deneyebileceğinize ve bize bildirin.

5GB dosyaya bölün

bölünmüş - bayt = 5G giriş dosyası

5 GB'lık birden fazla dosyaya bölünecek ve onu xaa, xab, xac, vb. Olarak isimlendirecektir.

bitiştirmek

kedi x *> dış dosya

Bununla diğer ucunda tek dosya olarak birleştirebilirsiniz.


1
OS XI'de 50 megabaytlık dosyalar oluşturmak için split -b50m kullanmak zorunda kaldı. Not eşittir işareti, küçük harf unutmayın.
funroll

3

Eğer yüklü bir rar varsa, benim için çok iyi çalıştı:

Ayırmak

rar a -m0 -v5000m newfilename giantfile.foo
  • a = arşive dosya ekle
  • m0 = sıkıştırma yok
  • v5000m = 5000 megabaytlık parçalara bölün

Yeniden monte etmek için:

unrar x newfilename.*
  • x = özü

Yararları:

  • Bölünmüş arşivin içeriğiyle ilgili ÇHS,
  • bölünmüş dosya siparişi otomatik olarak tutulur,
  • birden fazla dosya ve dizin eklenebilir.

3

splitve cattamamen güvenilirdir. Buna ek olarak sırayla sıkıştırabilirsiniz. Giriş dosyanızın olduğunu varsayalım dump.bson:

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

Ve sonra bununla yeniden oluşturun:

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

İpucu, bunun xz(dec)yerine en iyi şekilde çalışırg(un)zip

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.