Como usar o 7z para comprimir via pipe?

13

Estou usando isso para criar backups com segurança (? - é realmente seguro? com uma boa senha?):

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

P: Mas como posso fazer isso usando 7z com taxa de compactação máxima?

Criar arquivos temporários além do único arquivo OUTPUT não é bom, porque se eu precisar compactar ~ arquivos / diretórios com tamanho de 100 GByte em um FS de 180 GByte eu não teria espaço livre suficiente (se ex .: o arquivo compactado levar ~ 60 GByte).

    
por gasko peter 13.08.2013 / 13:57

4 respostas

6

Existe algum motivo pelo qual você deseja usar 7z especificamente ou deseja apenas uma compactação melhor do que gzip ?

O utilitário xz usa o mesmo algoritmo de compactação que 7z (LZMA) e permite que a compactação canalizada seja igual a gzip .

tar cvf ... | xz -9 | openssl ...
    
por 13.08.2013 / 14:05
17

Isso é coberto na página man do 7z:

-si    Read data from StdIn (eg: tar cf - directory | 7z a -si directory.tar.7z)
    
por 13.08.2013 / 15:43
0

Para criar rapidamente um arquivo de preparação de backup remoto de todos os meus scripts de origem.Eu uso o seguinte:

# 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   

O motivo pelo qual não faço backup de minha raiz 'home' é que especificamente sincronizo e envio apenas alguns diretórios. Observe como o cpio irá pular e verificar novos arquivos existentes na restauração. Isso é poderoso. Seu trabalho não será sobrescrito.

bud @

    
por 30.06.2017 / 08:31
-1

acabou de funcionar, postgres pgdumpall para um arquivo 7zip: use set pgpassword=xxxxx antes de emitir o comando:

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

demorou apenas 4 dias para ser despejado e comprimido! 50201104790 bytes (47 GB)

    
por 27.04.2018 / 16:06

Tags