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
Eu não devo ser o único - estou rsyncing arquivos .tar.gz e percebo que toda vez que o arquivo completo fica rsynced ao invés das diferenças. Ao lê-lo, parece que em 1999 alguém criou um algoritmo que resolveu o problema link (apenas 5% dos dados necessários foram transferidos)
Isso já aconteceu em algum lugar desde então, como criar arquivos .tar.gz amigáveis ao rsync?
O BeezNest tem uma boa explicação da opção rsyncable para o gzip . No teste do autor, essa opção adicionou cerca de 1% ao tamanho do arquivo, mas possibilitou que o rsync transferisse as atualizações para um arquivo compactado com mais de 1.300 vezes de velocidade.
Para os detalhes, veja esta discussão , que eles citam.
gzip --rsyncable # need two dashes for long options
Eu gosto deste porque eu queria tar.gz, não apenas .gz
GZIP='--rsyncable' tar cvzf bobsbackup.tar.gz /home/bob
Eu sei que o Ubuntu Linux aplica um patch (arquivo gzip) para gzip fontes para permitir um sinalizador --rsyncable
. Você pode fazer o download desse patch e usá-lo você mesmo ou ver se sua distribuição inclui o patch.