Наши серверы работают под управлением Ubuntu Linux, а двоичный файл представляет собой дамп BSON большой коллекции MongoDB. Насколько надежен такой инструмент, как split
? Есть ли более быстрый или лучший способ сделать это?
4 ответа
Разделить, разделить -b
Чтобы присоединиться, просто cat
.
AFAIK они абсолютно надежны, и я сомневаюсь, что есть что-то более эффективное.
Сплит очень надежный. Мы используем его для портирования больших файлов журналов, и он работал хорошо до пары ГБ (не 50 ГБ в любом случае).
Я полагаю, что вы можете попробовать использовать сплит для ваших требований, и дайте нам знать.
Разделить на 5 ГБ файлов
split --bytes = 5G входной файл
Он будет разбит на несколько файлов по 5 ГБ и назовет его как xaa, xab, xac, .... и так далее.
Объединить
cat x *> outfile
этим вы можете объединить как один файл на другом конце.
Если у вас установлен rar, он работает очень хорошо для меня:
Разделять
rar a -m0 -v5000m newfilename giantfile.foo
- a = добавить файлы в архив
- m0 = без сжатия
- v5000m = разделить на куски по 5000 мегабайт
Чтобы собрать:
unrar x newfilename.*
- х = экстракт
Выгоды:
- CRC о содержании сплит-архива,
- порядок разделения файлов сохраняется автоматически,
- несколько файлов и директорий могут быть включены.
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