Estou fazendo uma pequena alteração em um arquivo de imagem de arquivo muito grande (apenas alguns pixels de diferença) que demora muito para ser transferido pela rede.
Existe uma maneira do rsync identificar a diferença no arquivo e enviar apenas a pequena diferença pela rede?
rsync
se comporta dessa maneira por padrão. Desde que a alteração menor seja uma alteração menor no arquivo e o arquivo já exista nos dois lados do link em versões quase idênticas, os dados transferidos devem ser muito menores que o tamanho total do arquivo. Desde o primeiro parágrafo da página de manual: "É famoso por seu algoritmo de transferência delta, que reduz a quantidade de dados enviados pela rede, enviando apenas as diferenças entre os arquivos de origem e os existentes no destino".Respostas:
rsync
O algoritmo delta-transfer faz isso por padrão. Citando a página de manual do rsync :Se você quiser desativá-lo, precisará usar a opção
-W
ou--whole-file
.Se você realmente sabe o quanto o seu arquivo mudou, você pode até otimizar esse comportamento de transferência delta ajustando o tamanho do bloco delta:
E se você quiser obter mais informações sobre o próprio algoritmo, pode encontrá-lo aqui: O algoritmo Rsync
fonte