"fünf Millionen" Dateien und insgesamt 1 TB? Ihre Dateien müssen also sehr klein sein. Ich würde einfach versuchen rsync
:
rsync -alPEmivvz /source/dir remote.host.tld:/base/dir
Wenn Sie das nicht haben - oder Ihr Anwendungsfall es nicht zulässt rsync
, würde ich zumindest prüfen, ob es 7z
mit Ihren Daten funktioniert. Es könnte nicht sein, aber ich denke, es ist immer noch einen Versuch wert:
7z a archive.7z /source/dir
Oder wenn Sie sich 7z
zumindest nicht wohl fühlen, wenn Sie versuchen, ein .tar.xz
Archiv zu erstellen:
tar cJv archive.tar.xz /source/dir
(Es sollte beachtet werden, dass ältere Versionen von tar
keine .tar.xz
Archive erstellen , aber .tar.lzma
Archive, wenn der J
Schalter verwendet wird. Auch ältere Versionen von tar
unterstützen das J
Flag nicht insgesamt.)
Da Sie ein GUI-Programm zum Erstellen dieser Dateien verwenden, gehe ich davon aus, dass Sie sich mit einer Befehlszeilenschnittstelle etwas unwohl fühlen.
Um das Erstellen, Verwalten und Extrahieren von Archiven über die Befehlszeilenschnittstelle zu erleichtern, gibt es das kleine Hilfsprogramm atool
. Es ist für praktisch jede gängige Distribution verfügbar, die ich gesehen habe, und funktioniert so ziemlich für jedes einzelne Archiv, auf das ich gestoßen bin, außer für die hoffnungslos dunklen.
Überprüfen Sie, ob Ihre Distribution über atool
Repos verfügt, oder bitten Sie Ihren Administrator, diese zu installieren, wenn Sie sich in einer Arbeitsplatzumgebung befinden.
atool
Installiert eine Reihe von Symlinks in sich selbst, sodass das Packen und Entpacken zum Kinderspiel wird:
apack archive.tar.xz <files and/or directories>
Erstellt ein Archiv.
aunpack archive.7z
Erweitert das Archiv.
als archive.rar
Listet Dateiinhalte auf.
Welche Art von Archiv erstellt wird, atool
erkennt man an der Dateinamenerweiterung Ihres Archivs in der Kommandozeile.
.tar.gz
oder KOPIEREN der resultierenden komprimierten Datei? In jedem Fall ist etwas seltsam, da keine der beiden Operationen mehr Speicher beanspruchen sollte, nur weil die Dateien groß sind. Das heißt, beide Vorgänge sollten gestreamt werden. Bitte geben Sie genau an, welche Befehle fehlschlagen.