Rsync
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
Weblinks
- Webpräsenz von rsync (englisch)
- Webpräsenz von librsync – Bibliothek für rsync (englisch)
- rsync auf linuxwiki.de
- Webpräsenz von RsyncX (englisch)
- RsyncX Übersetzung in Deutsch und Anleitung zur Anwendung des Programms
- Webpräsenz von Unison
Quellen
- ↑ The rsync algorithm (engl.)