Який найшвидший і найнадійніший спосіб розділити бінарний файл 50 Гб на шматки 5 Гб або менше, а потім зібрати його згодом?


26

На наших серверах працює Ubuntu Linux, а двійковий файл - це дамп BSON великої колекції MongoDB. Наскільки надійний такий інструмент split? Чи існує швидший чи кращий спосіб зробити це?

Відповіді:



21

спліт дуже надійний. Ми використовуємо його для перенесення великих файлів журналів, і він добре працював до пари ГБ (все одно не 50 Гбіт).

Я вважаю, що ви можете спробувати використовувати спліт для вашої вимоги, і повідомте нам про це.

Розділіть на 5 ГБ файли

розділити --байти = 5G вхідний файл

Він розділиться на кілька файлів об'ємом 5 ГБ і назве його як xaa, xab, xac, .... і так далі.

Об’єднати

cat x *> outfile

цим можна об'єднатись як один файл на іншому кінці.


1
В OS XI довелося використовувати спліт -b50m для створення 50 мегабайтних файлів. Зверніть увагу, що немає знака рівності, зверніть увагу на малі регістри.
funroll

3

Якщо у вас встановлено rar, для мене це працює дуже добре:

Розділяти

rar a -m0 -v5000m newfilename giantfile.foo
  • a = додавання файлів до архіву
  • m0 = відсутність стиснення
  • v5000m = розділити на шматки 5000 мегабайт

Щоб знову зібрати:

unrar x newfilename.*
  • x = витяг

Переваги:

  • CRC щодо вмісту розбитого архіву,
  • Впорядкування розділених файлів зберігається автоматично,
  • можуть бути включені кілька файлів та режимів.

3

split& catповністю надійні. Ви також можете додатково стиснути в такий спосіб. Припустимо, ваш вхідний файл dump.bson:

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

А потім відновіть це:

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

Порада, це працює так само добре, як xz(dec)на місціg(un)zip

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.