Ich nehme eine geringfügige Änderung an einer sehr großen Datei-Image-Datei vor (nur ein paar Pixel Unterschied), deren Übertragung über das Netzwerk lange dauert.
Gibt es eine Möglichkeit für rsync, den Unterschied in der Datei zu identifizieren und nur den kleinen Unterschied über das Netzwerk zu senden?
rsync
standardmäßig so. Solange es sich bei der geringfügigen Änderung um eine geringfügige Änderung der Datei handelt und die Datei bereits in nahezu identischen Versionen auf beiden Seiten des Links vorhanden ist, sollten die übertragenen Daten viel geringer sein als die Gesamtdateigröße. Aus dem ersten Absatz der Manpage: "Es ist berühmt für seinen Delta-Transfer-Algorithmus, der die über das Netzwerk gesendete Datenmenge reduziert, indem nur die Unterschiede zwischen den Quelldateien und den vorhandenen Dateien im Ziel gesendet werden."Antworten:
rsync
Der Delta-Transfer-Algorithmus macht dies standardmäßig. Zitieren der rsync-Manpage :Wenn Sie es deaktivieren möchten, müssen Sie die Option
-W
oder verwenden--whole-file
.Wenn Sie wirklich wissen, wie stark sich Ihre Datei geändert hat, können Sie dieses Delta-Übertragungsverhalten sogar optimieren, indem Sie die Größe Ihres Delta-Blocks anpassen:
Wenn Sie weitere Informationen zum Algorithmus selbst wünschen, finden Sie diese hier: Der Rsync-Algorithmus
quelle