Rsync friendly gzip

26

Não devo ser o único - estou sincronizando os arquivos .tar.gz e observe que toda vez que o arquivo completo é sincronizado, em vez das diferenças. Ao ler isso, parece que em 1999 alguém criou um algoritmo que corrigia o problema http://svana.org/kleptog/rgzip.html (apenas 5% dos dados necessários eram transferidos)

Desde então, como faço para criar arquivos .tar.gz compatíveis com o rsync?

svandragt
fonte

Respostas:

27

meu gzip (no ubuntu e fedora) tem a opção --rsyncable. Então crie os tarballs usando:

tar -c whatever/ | gzip --rsyncable > file.tar.gz
pixelbeat
fonte
12

BeezNest tem uma explicação muito boa da opção rsyncable para gzip . No teste do autor, essa opção adicionou cerca de 1% ao tamanho do arquivo, mas possibilitou ao rsync transferir as atualizações para um arquivo compactado em gzip com mais de 1.300 vezes de velocidade.

Para os detalhes sangrentos, veja esta discussão , que eles citam.

Rich Apodaca
fonte
4

Eu gosto deste porque queria tar.gz, não apenas .gz

GZIP='--rsyncable' tar cvzf bobsbackup.tar.gz /home/bob
Weston Ganger
fonte
3

Eu sei que o Ubuntu Linux aplica um patch (arquivo gzip) às fontes gzip para permitir uma --rsyncablesinalização. Você pode baixar esse patch e usá-lo você mesmo, ou ver se sua distribuição inclui o patch.

Alok
fonte