Wie benutze ich 7z, um über ein Rohr zu komprimieren?


16

Ich verwende dies zum sicheren Erstellen von Backups (? - Ist es wirklich sicher? Mit einem guten Passwort?):

# ENCRYPT
ORIGDIR="DIRECTORYNAMEHERE"; tar cvf - "${ORIGDIR}/" 2>/dev/null | gzip -9 - 2>/dev/null | openssl aes-256-cbc -salt -out "${ORIGDIR}.tar.gz.aes"

# DECRYPT
openssl aes-256-cbc -d -salt -in "ENCDIRECTORYNAMEHERE" | tar -xz -f -

F: Aber wie kann ich das mit 7z mit maximaler Komprimierungsrate machen?

Es ist nicht gut, temporäre Dateien neben der einzigen OUTPUT-Datei zu erstellen, da ich zum Komprimieren von Dateien / Verzeichnissen mit einer Größe von ~ 100 GByte auf einem 180-GByte-FS nicht genügend freien Speicherplatz hätte (wenn zum Beispiel die komprimierte Datei ~ 60 GByte benötigen würde) GByte).

Antworten:


6

Gibt es einen Grund, den Sie 7zspeziell verwenden möchten , oder möchten Sie einfach eine bessere Komprimierung als gzip?

Das xzDienstprogramm verwendet den gleichen Komprimierungsalgorithmus wie 7z(LZMA) und ermöglicht die Pipe-Komprimierung wie gzip.

tar cvf ... | xz -9 | openssl ...

Der Grund, warum ich persönlich speziell 7z brauchte, ist die Möglichkeit, auf mehrere Volumes
aufzuteilen

1
xz war zu diesem Zeitpunkt noch kein Multithread-Computer (möglicherweise noch nicht), sodass es auf einem
Multicore

25

Dies wird in der Manpage von 7z behandelt:

-si    Read data from StdIn (eg: tar cf - directory | 7z a -si directory.tar.7z)

Kann ich ein "|" und weiterverarbeiten nach dem 7z?
Gasko Peter

4
Sie können -sodie komprimierten Daten mit stdout anstelle einer Datei sichern.
Wieland

1

So erstellen Sie schnell eine Remote-Sicherungsvorbereitungsdatei für alle meine Startskripts:

# Scripts backup
ls ~/*.sh | cpio -ov | 7z a -si ~/Documents/SCRIPT_BACKUP_30062017.cpio.7z
# Scripts restore
7z x -so ~/Documents/SCRIPT_BACKUP_30062017.cpio.7z | cpio -iv   

Der Grund, warum ich mein "Heimat" -Stammverzeichnis nicht sichern kann, ist, dass ich nur einige Verzeichnisse synchronisiere und versende. Beachten Sie, wie cpio beim Wiederherstellen nach neueren Dateien sucht. Das ist mächtig. Ihre Arbeit wird nicht überschrieben.

Knospe@


-1

habe es gerade zum Laufen gebracht, postgres pgdumpallin eine 7zip-Datei: benutze set pgpassword=xxxxxvor der Ausgabe des Befehls:

pg_dumpall -U postgres | c:\"program files"\7-Zip\7z.exe a -si e:\directory\output.file.sqlc

Es dauerte nur 4 Tage, bis es abgeladen und komprimiert wurde! 50201104790 Bytes (47 GB)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.