Melhor maneira de compactar uma pasta de pequenos arquivos pré-compactados (imagens)?

2

Eu tenho uma pasta contendo aproximadamente 50GB de imagens e arquivos de vídeo (~ 35k arquivos) que gostaria de compactar em um único arquivo para armazenamento ao lado de um banco de dados. Existe alguma opção de compressão (ou utilitários com opções) que irá realmente aproveitar os dados reproduzidos através desses muitos arquivos pequenos e fornecer alguma compressão razoável? O padrão "tar czf", etc, não parece considerar grandes blocos de dados suficientes e acaba retornando um arquivo quase do tamanho do diretório descompactado.

(E sim, eu sei que você geralmente não pode compactar um arquivo grande mais do que já é, estou procurando por algo que detecte padrões nos arquivos ).

(Nota: Eventual objetivo é adicionar essa funcionalidade a um aplicativo que estou escrevendo para organização de fotos, isso é apenas um caso de teste. Responder com "use apenas tar cjf" não é muito útil.: P)

    
por ZetaSyanthis 17.07.2017 / 06:17

2 respostas

0

Tente isso,

gzip=-9 tar -cvzf videos_backup.tgz </path/to/videos>

Isso pode levar algum tempo para compactar o arquivo no diretório.

    
por 17.07.2017 / 08:39
0

Eu usaria isso:

tar cvf images.tar file1 file2 ...
gzip -9 images.tar  

Você rola todos os seus arquivos em um, e então o compacta; As partes copmmon são todas então em um arquivo. O quão bem isso funciona dependerá do seu programa de compressão de escolha (e das opções que você alimenta); experimentar com diferentes opções e programas (por exemplo, gzip , xz e talvez até bzip2 , embora eu provavelmente espere que xz ganhe). Note que alguns programas / opções podem ser bastante lentos, e se você tiver memória limitada, isso pode ser um problema.

    
por 17.07.2017 / 11:29