web-dev-qa-db-fra.com

Comment utiliser 7Z pour comprimer via le tuyau?

J'utilise cela pour créer des sauvegardes de manière sécurisée (? - Est-ce vraiment sécurisé? Avec un bon mot de passe?):

# 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 -

Q: Mais comment puis-je faire cela en utilisant 7z avec un taux de compression maximale?

Création de fichiers temporaires Outre le seul fichier de sortie n'est pas bon, car si je dois compresser ~ 100 fichiers de taille/répertoires de la taille de Gbyte sur une 180 gbyte FS Je n'aurais pas assez d'espace libre (si ex .: Le fichier compressé prendrait environ 60 Go).

17
gasko peter

Y a-t-il une raison pour laquelle vous voulez utiliser 7z Spécifiquement, ou voulez-vous simplement une meilleure compression que gzip?

L'utilitaire xz utilise le même algorithme de compression que 7z (Lzma), et permet une compression de canalisée identique à gzip.

tar cvf ... | xz -9 | openssl ...
8
David Baggerman

Ceci est couvert dans la page d'homme de 7Z:

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

Pour créer rapidement un fichier de préparation de sauvegarde à distance de tous mes scripts de la maison.Je utilisez ce qui suit:

# 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   

Raison que je ne sauvegarde pas ma "maison" racine est que je spécifie spécifiquement et n'envoie que certains répertoires. Remarquez comment CPIO sautera et recherchera les fichiers existants plus récents sur la restauration. C'est puissant. Votre travail ne sera pas écrasé.

bourgeon@

1
Will Budic