J'apporte une modification mineure à un très gros fichier image (juste quelques pixels de différence) qui prend beaucoup de temps à transférer sur le réseau.
Existe-t-il un moyen pour rsync d'identifier la différence dans le fichier et d'envoyer uniquement le petit diff sur le réseau?
rsync
se comporte de cette façon par défaut. Tant que la modification mineure est une modification mineure du fichier et que le fichier existe déjà des deux côtés du lien dans des versions presque identiques, les données transférées doivent être bien inférieures à la taille totale du fichier. Du premier paragraphe de la page de manuel: "Il est célèbre pour son algorithme de transfert delta, qui réduit la quantité de données envoyées sur le réseau en envoyant uniquement les différences entre les fichiers source et les fichiers existants dans la destination."Réponses:
rsync
L'algorithme de transfert delta le fait par défaut. Citant la page de manuel rsync :Si vous souhaitez le désactiver, vous devrez utiliser l' option
-W
ou--whole-file
.Si vous savez vraiment à quel point votre fichier a changé, vous pouvez même optimiser ce comportement de transfert delta en ajustant la taille de votre bloc delta:
Et si vous voulez plus d'informations sur l'algorithme lui-même, vous pouvez le trouver ici: L'algorithme Rsync
la source