Je dois sauvegarder un répertoire assez volumineux, mais je suis limité par la taille des fichiers individuels. Je voudrais essentiellement créer une tar.(gz|bz2)
archive divisée en archives de 200 Mo maximum. Clonezilla fait quelque chose de similaire à cela en divisant les sauvegardes d'image nommées ainsi:
sda1.backup.tar.gz.aa
sda1.backup.tar.gz.ab
sda1.backup.tar.gz.ac
Y a-t-il un moyen de faire cela en une seule commande? Je comprends comment utiliser la split
commande, mais je voudrais ne pas avoir à créer une archive géante, mais à la scinder en archives plus petites, car cela doublerait l'espace disque dont j'avais besoin pour créer initialement l'archive.
Réponses:
Vous pouvez diriger tar vers la commande split:
Sur certains systèmes * nix (tels que OS X), le message d'erreur suivant peut s'afficher:
Dans ce cas, essayez ceci (notez le
-b 200m
):Si vous essayez de scinder un fichier pour l’adapter à un lecteur au format FAT32, utilisez une limite en octets de 4294967295. Par exemple:
la source
cat sda1.backup.tar.gz.* | tar xzvf -
faire le travail?split
par défaut, définit les noms des fichiers de sorte que, une fois triés par LOCALE (ce qui est fait par le défilement du shell), ils seront dans le bon ordre.tar czf ...
sansv
et fusionnercat backup.tar.gz.* | tar tar xzf -
sansv
. Je ne vois aucun avantage de la sortie verbeuse ici parv
.tar cvzf - Xcode.app/ | split -b 2000m - /Volumes/PH/xcode/xcode.tgz
(utilisé depuiscd /Applications/
) Merci beaucoup :)Sur macOS, la
split
commande fonctionne légèrement différemment:la source
Juste pour ajouter: Comme la taille de fichier maximale autorisée dans vfat / fat32 est 2 ^ 32 moins 1 (4294967295 octets), la commande de division avec la taille de fichier maximale autorisée sur ce système de fichiers est la suivante:
la source
Vous aurez besoin d'un script pour automatiser le déplacement du fichier pseudo-tape.tar vers un nouveau nom:
la source
-M --tape-length
. Cependant, cette réponse ignore la demande de l'OP pour une solution utilisant la compression gzip ou bzip2.tar
mais plutôt d'un clone de tar appelégtar
(GNU tar). Ce clone tar prend en charge la création d'archives à plusieurs volumes, mais avec une probabilité notable, il est impossible / ne souhaite pas extraire de ces archives à plusieurs volumes car il affirme à tort qu'un volume de suivi n'est pas la partie de continuation appropriée.