WikiDer > Rsync
rsync | ||||
| Entwickler | Original: Andrew Tridgell, Paul Mackerras Aktuell: Wayne Davison | |||
| Veröffentlicht | 19. Juni 1996 | |||
| Letzte Version | 3.1.3 (28. Januar 2018) | |||
| Status | Aktiv | |||
| Betriebssystem | Fenster und Unix-ish | |||
| Geschrieben in | C | |||
| Kategorie | Datentransfer | |||
| Lizenz | GPL 3 | |||
| Versionskontrolle | git.samba.org | |||
| Webseite | (und) rsync.-Website | |||
| ||||
Rsync ist ein Computer Programm Welche Dateien und Verzeichnissesynchronisiert von einem Computer zum anderen. Dabei ist es möglich Daten indem nur die Differenz (das Delta) gesendet wird, wenn der Zielcomputer bereits über eine andere Version dieser Datei verfügt. Dafür, im Gegensatz zu den meisten vergleichbaren Programmen und Algorithmen, nur einen Datenstrom pro Richtung senden.
Rsync kann Verzeichnisinhalte anzeigen und Verzeichnisse und Dateien kopieren, optional mit Datenkompression und Rekursion, und eignet sich daher gut zum Synchronisieren von Dateien und ganzen Verzeichnisbäumen.
Zur Verwendung über UDP und TCP verwendet rsync als Standard Port-Nummer 873.
Algorithmus
Rsync verwendet einen vom australischen Computerprogrammierer erfundenen Algorithmus invented Andrew Tridgell, um eine Datei effizient zu senden, wenn der empfangende Computer bereits über eine andere Version dieser Datei verfügt.
Der Empfänger teilt seine Kopie der Datei in nicht überlappende Blöcke fester Länge auf, sagen wir, und berechnet zwei Prüfsummen für jeden Block: die MD5-hash, und eine schwächere "rollende" Prüfsumme. Er schickt beides an den Absender.
Der Sender berechnet die rollierende Prüfsumme für jeder Längenblock, also auch für überlappende Blöcke. Dies kann aufgrund einer Eigenschaft dieser Prüfsumme effizient erfolgen: Wenn die Prüfsumme der Bytes mit Nummer bis einschließlich gleich , es ist einfach, die Prüfsumme der Bytes zu erhalten bis einschließlich berechnen, ohne die dazwischenliegenden Bytes zu betrachten. Wenn Sie also bereits die Prüfsumme der Bytes 1–25 haben, können Sie die Prüfsumme der Bytes 2–26 nur aus der vorherigen Prüfsumme und dem Wert der Bytes 1 und 26 berechnen.
Der Sender vergleicht dann seine fortlaufenden Prüfsummen mit der vom Empfänger gesendeten Serie und stellt fest, ob Übereinstimmungen vorliegen. Wenn dies der Fall ist, verifiziert es den Treffer, indem es das MD5 für diesen Block berechnet und es mit dem MD5 vergleicht, das der Empfänger gesendet hat.
Der Absender muss jetzt nur noch die Teile der Datei senden, die nicht zu einem Block passen, den der Empfänger bereits hat, plus "Montageanweisungen", die dem Empfänger sagen, wo er diese Teile einfügen soll und welche Teile seiner eigenen Datei eingefügt werden sollen delete, um eine Datei zu erhalten, die mit der des Absenders identisch ist.
Je mehr Ähnlichkeiten zwischen den beiden Dateien bestehen, desto weniger Daten müssen gesendet werden.
Siehe auch
Externer Link
- (und) Projektseite