Quel est le moyen le plus rapide et le plus fiable de diviser un fichier binaire de 50 Go en morceaux de 5 Go ou moins, puis de le réassembler plus tard?


26

Nos serveurs exécutent Ubuntu Linux, et le fichier binaire est un vidage BSON d'une grande collection MongoDB. À quel point un outil est-il fiable split? Existe-t-il un moyen plus rapide ou meilleur de procéder?

Réponses:


26

Pour diviser, diviser -b

Pour rejoindre, juste cat.

AFAIK ils sont totalement fiables, et je doute qu'il y ait quelque chose de plus efficace.


21

split est très fiable. Nous l'utilisons pour le portage de fichiers journaux volumineux, et cela a bien fonctionné jusqu'à deux Go (pas 50 Go de toute façon).

Je pense que vous pouvez essayer d'utiliser la répartition selon vos besoins et faites-le nous savoir.

Divisé en fichiers de 5 Go

split --bytes = fichier d'entrée 5G

Il se divisera en plusieurs fichiers de 5 Go et le nommera xaa, xab, xac, .... et ainsi de suite.

Enchaîner

cat x *> outfile

par cela, vous pouvez concaténer en tant que fichier unique à l'autre extrémité.


1
Sur OS XI, il fallait utiliser split -b50m pour créer des fichiers de 50 mégaoctets. Notez qu'il n'y a pas de signe égal, notez les minuscules.
funroll

3

Si vous avez installé rar, cela a très bien fonctionné pour moi:

Séparer

rar a -m0 -v5000m newfilename giantfile.foo
  • a = ajouter des fichiers à archiver
  • m0 = pas de compression
  • v5000m = divisé en morceaux de 5000 mégaoctets

Pour remonter:

unrar x newfilename.*
  • x = extraire

Avantages:

  • CRC sur le contenu de l'archive scindée,
  • l'ordre des fichiers fractionnés est conservé automatiquement,
  • plusieurs fichiers et répertoires peuvent être inclus.

3

split& catsont totalement fiables. Vous pouvez également compresser en ligne comme ceci. Supposons que votre fichier d'entrée soit dump.bson:

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

Et puis reconstituer avec ceci:

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

Astuce, cela fonctionne aussi bien avec xz(dec)à la place deg(un)zip

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.