Zum Inhalt springen

Rsync

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 9. April 2006 um 07:50 Uhr durch BLueFiSH.as (Diskussion | Beiträge) (böse typos gleich in der einleitung). Sie kann sich erheblich von der aktuellen Version unterscheiden.

rsync ist sowohl ein Netzwerkprotokoll, als auch ein unter der GPL stehendes Programm, zur Synchronisation von Daten meistens über ein Netzwerk. Dabei werden Teile der Zieldatei (die, die Übertragen werden soll), welche sich in der Referenzdatei befinden, nicht übertragen, wodurch viel Bandbreite gespart werden kann. rsync wurde u. a. von Paul Mackeras und Andrew Tridgell aus dem Samba-Team entwickelt.

Funktionsweise

Ziel ist es, eine Datei (die Zieldatei) von einem Server auf einem Clienten zu übertragen, der eine Referenzdatei hat, welche zu großen Teilen mit der Zieldatei übereinstimmt.

Dazu wird als erstes vom Client die Referenzdatei in Blöcke einer bestimmten Länge unterteilt, jeweils zwei Prüfsummen gebilden und diese an den Server übertragen. Die erste dieser Prüfsummen kann sehr schnell berechnet, bzw. in der Datei gefunden werden. Die zweite stellt sicher, dass die Blöcke (mit sehr hoher Wahrscheinlichkeit) identisch sind. Danach sucht der Server in der Zieldatei nach den Blöcken und zwar an jeder Stelle (d. h. nicht nur an vielfaches von der Blocklänge). Damit generiert der Server eine Vorschrift, wie die Zieldatei generiert werden kann, wobei entweder Teile (beliebiger Länge) der Datei übertragen werden oder auf eines der Blöcke aus der Referenzdatei verwiesen wird. Damit erhält der Client nun durch Befolgen dieser eine Kopie der Zieldatei.[1]

Anwendungen

Hauptanwendungsgebiete von rsync sind Datensicherung und Mirrors. Auch für einen Datenabgleich zu Firmenaußenstellen mit geringer Bandbreite der Netzwerkanbindung z. B. ISDN/ADSL eignet es sich. rsync ist kompatibel zu rcp und kann deshalb auch für cvs verwendet werden – vorausgesetzt ein ryscd-Server ist vorhanden. Während rsync selbst keine Verschlüsselung kennt, kann dies von ssh übernommen werden.

rsync ist für alle gängigen Unix-Betriebssysteme verfügbar. Auf der Basis von Cygwin ist es auch auf Windows-Systemen lauffähig. Daneben existieren andere Programme – auch grafische – wie Unison (Gtk/Win) oder RsyncX (Mac OS X), die das rsync-Protokoll unterstützen.

Siehe auch

Quellen

  1. The rsync algorithm (engl.)