Ich muss ein ziemlich großes Verzeichnis sichern, bin jedoch durch die Größe der einzelnen Dateien begrenzt. Ich möchte im Wesentlichen ein tar.(gz|bz2)
Archiv erstellen, das in maximal 200 MB große Archive aufgeteilt ist. Clonezilla macht etwas Ähnliches, indem es Image-Backups mit folgendem Namen aufteilt:
sda1.backup.tar.gz.aa
sda1.backup.tar.gz.ab
sda1.backup.tar.gz.ac
Gibt es eine Möglichkeit, dies mit einem Befehl zu tun? Ich verstehe, wie man den split
Befehl verwendet, aber ich möchte nicht ein einziges Riesenarchiv erstellen und es dann in kleinere Archive aufteilen müssen, da dies den Festplattenspeicher verdoppeln würde, den ich für die erstmalige Erstellung des Archivs benötige.
Antworten:
Sie können tar an den split-Befehl leiten:
Auf einigen * nix-Systemen (wie OS X) wird möglicherweise die folgende Fehlermeldung angezeigt:
In diesem Fall versuchen Sie dies (beachten Sie die
-b 200m
):Wenn Sie versuchen, die Datei so zu teilen, dass sie auf ein FAT32-formatiertes Laufwerk passt, verwenden Sie ein Byte-Limit von 4294967295. Beispiel:
quelle
cat sda1.backup.tar.gz.* | tar xzvf -
die Arbeit erledigen?split
Standardmäßig werden die Namen der Dateien so festgelegt, dass beim Sortieren nach LOCALE (was durch Shell-Globbing erfolgt) die richtige Reihenfolge eingehalten wird.tar czf ...
auf dasv
und verschmelzen Siecat backup.tar.gz.* | tar tar xzf -
ohnev
. Ich sehe keinen Nutzen aus der ausführlichen Ausgabe hier vonv
.tar cvzf - Xcode.app/ | split -b 2000m - /Volumes/PH/xcode/xcode.tgz
cd /Applications/
Unter macOS
split
funktioniert der Befehl etwas anders:quelle
Nur zum Hinzufügen: Da die maximal zulässige Dateigröße in vfat / fat32 2 ^ 32 minus 1 (4294967295 Bytes) beträgt, lautet der Split-Befehl mit der maximal zulässigen Dateigröße in einem solchen Dateisystem:
quelle
Sie benötigen ein Skript für die Automatisierung, um die Datei pseudo-tape.tar auf einen neuen Namen zu verschieben:
quelle
-M --tape-length
. Diese Antwort ignoriert jedoch die Anforderung des OP nach einer Lösung, die gzip- oder bzip2-Komprimierung verwendet.tar
um einen Tar-Klongtar
(GNU tar). Dieser Tar-Klon unterstützt das Erstellen von Archiven mit mehreren Volumes, kann / will jedoch mit einer erkennbaren Wahrscheinlichkeit keine Extraktion aus diesen Archiven mit mehreren Volumes durchführen, da fälschlicherweise behauptet wird, dass ein Folge-Volume nicht der richtige Fortsetzungsteil ist.