arquivos de backup com muitos arquivos duplicados

7

Freqüentemente preciso fazer um backup de um grupo de arquivos, com muitas subpastas que contêm vários arquivos grandes e idênticos.

Existe um esquema de compactação (.zip, .7z, etc) que pode detectar isso automaticamente e não armazenar arquivos idênticos mais de uma vez?

    
por Warpin 01.03.2013 / 00:43

3 respostas

0

Sim, é possível: link

Aqui está um exemplo que eu criei:

[jay test]$ tree .
.
'-- compressme
    |-- a
    |   '-- largefile (10MB)
    '-- b
        '-- largefile (10MB, identical to ../a/largefile)

3 directories, 2 files
[jay test]$ du -sh compressme/
21M compressme/
[jay test]$ tar -cf compressme.tar compressme/
[jay test]$ du -sh compressme.tar 
21M compressme.tar
[jay test]$ lzma -9 compressme.tar
[jay test]$ du -sh compressme.tar.lzma 
11M compressme.tar.lzma
    
por 01.03.2013 / 01:57
5

Eu também passei por isso também.

Se você compactar seus arquivos em uma esfera de alcatrão, a compactação LZMA do 7z pode ou não reconhecer as duplicatas se elas estiverem separadas demais na esfera de alcatrão (é uma função do tamanho do dicionário e algumas outras coisas).

O 7z possui um formato WIM que coleta duplicatas, então você pode usar a compactação LZMA normal por lá. Exemplo de linha de comando do Windows:

7z a -twim "Example.wim" *
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on -mhc=on "Example.7z" "Example.wim"
del "Example.wim"

Funciona bem, experimente.

    
por 07.07.2015 / 07:09
1

Sugiro 3 opções que tentei (no Windows):

  1. compactação de 7zip LZMA2 com tamanho de dicionário de 1536 MB
  2. Arquivo "sólido" do WinRar
  3. arquivo WIM 7zip

Eu tinha 10 pastas com versões diferentes de um site (com arquivos como .php , .html , .js .css , .jpeg , .sql , etc.) com um tamanho total de 1Gb ( 100Mb média por pasta ). Enquanto a compactação padrão 7zip ou WinRar me dava um arquivo de cerca de 400 / 500Mb, essas opções me deram um arquivo de (1) 80Mb , (2) 100Mb & (3) 170Mb, respectivamente.

    
por 02.11.2016 / 21:05