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?

Hennes
la source

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.

leonbloy
la source
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é.

le geek
la source
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.
Corey Farwell
la source
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

Joshua Huber
la source