- rsync
-
rsync Maintainer Wayne Davison Aktuelle Version 3.0.9
(23. September 2011)Betriebssystem Unix, Linux, Mac OS X, Microsoft Windows, OS/2 Kategorie Synchronisation Lizenz GPL (Freie Software) rsync.samba.org rsync ist sowohl ein Netzwerkprotokoll als auch ein unter der GPL stehendes Programm zur Synchronisation von Daten, meistens über ein Netzwerk. Die Synchronisation läuft bei rsync nur unidirektional, also von einem Quellverzeichnis zu einem Zielverzeichnis, ab. Wenn beide Verzeichnisse geändert wurden, werden die Änderungen nicht zusammengeführt (merge), sondern die Änderungen im Zielverzeichnis gehen verloren.
Ein wichtiges Merkmal von rsync ist, dass es nicht nur ganze Dateien kopieren kann, sondern auch Teile von Dateien. Wurde auf dem Quell-Datenträger eine Datei verändert, werden nur die geänderten Teile der Datei auf das Zielsystem übertragen (Delta-Kodierung). Das kann speziell bei unkomprimierten Dateitypen erhebliches Transfervolumen einsparen und die Synchronisation deutlich beschleunigen. rsync wurde unter anderem von Paul Mackerras und Andrew Tridgell aus dem Samba-Team entwickelt.
Inhaltsverzeichnis
Funktionsweise
Ziel ist es, eine Datei (die Quelldatei) von einem Client auf einen Server zu übertragen, der eine Zieldatei hat, welche möglicherweise zu großen Teilen mit der Quelldatei übereinstimmt.
Dazu wird als erstes vom Client die Zieldatei in Blöcke einer bestimmten Länge unterteilt, für die jeweils zwei Prüfsummen gebildet und an den Server übertragen werden. Die erste dieser Prüfsummen ist rollierend und daher für den Server dazu geeignet, schnell eine gegebenenfalls verschobene Bytesequenz mit der gleichen Prüfsumme in der Quelldatei aufzuspüren. Da sie allerdings anfällig für Kollisionen ist, wird bei ihrer Übereinstimmung zunächst noch die zweite Prüfsumme getestet. Bei der zweiten Prüfsumme ist im Gegensatz zur rollierenden Prüfsumme eine Kollision praktisch ausgeschlossen,[1] allerdings ist ihre Berechnung sehr viel aufwändiger. Diese zweite Prüfsumme wurde im ursprünglichen Entwurf mit dem MD-4-Verfahren berechnet;[2] seit dem Release 3.0.0 von rsync wird stattdessen MD-5 benutzt, da MD-4 als kryptographisch unsicher gilt.
Mit den Prüfsummen generiert der Server Anweisungen, wie eine Kopie der Quelldatei aus den Datenblöcken der Zieldatei generiert werden kann. Für bereits auf dem Zielsystem vorhandene Blöcke werden Verschiebe-Vorschriften übertragen. Nur Daten, die sich nicht aus Blöcken der Zieldatei zusammensetzen lassen, werden direkt gesendet. Damit erhält der Client nun durch Befolgen dieser Vorschriften eine exakte Kopie der Quelldatei.
Standardmäßig wird der TCP-Port 873 zur Kommunikation verwendet. Aber auch ein Zugriff über eine Remoteshell – etwa ssh (verschlüsselt) oder rsh (unverschlüsselt) – ist problemlos möglich.
Anwendungen
Hauptanwendungsgebiete von rsync sind Datensicherung und Mirrors, wie z. B. bei rsnapshot. Auch für einen Datenabgleich zu Firmenaußenstellen mit geringer Datenrate 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 rsyncd-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 und OS/2 verfügbar; auf der Basis von Cygwin ist es auch auf Windows-Systemen lauffähig.
Daneben gibt es andere Programme – auch grafische – wie Unison (Gtk/Win), DeltaCopy (Win) oder RsyncX (Mac OS X), die das rsync-Protokoll unterstützen. Die derzeit aktuelle RsyncX-Version unterstützt allerdings nur eine veraltete Version von rsync.
Der rsync-Algorithmus (als rdiff) wird auch von rdiff-backup,[3] einer Backup-Lösung für Windows, Linux, Unix (u. a. Mac OS X) genutzt. Damit können auf lokalen oder entfernten Rechnern liegende Dateien oder Verzeichnisse in einem Backup-Mirror gesichert werden. Zusätzlich lässt sich jede Version zu jedem Zeitpunkt eines Verzeichnisses oder einer Datei wieder herstellen, da rdiff-backup auch Reverse Deltas in platzsparender Weise speichert.
GUIs
Linux
Als Teil der Sammlung Gadmintools gibt es mit GADMIN RSYNC eine GUI zur Administration des rsync-Servers und dessen Clients. rsync wird außerdem als Basis für FlyBack, eine einfache grafische Backup-Software, ähnlich Apples Time Machine, verwendet. Eine weitere GUI findet man bei der Linux-Version von QtdSync.[4]
Windows
Windows-GUIs, die sowohl Client- als auch Server("daemon")-Funktionen unterstützen, sind beispielsweise DeltaCopy[5] oder QtdSync.[4]
RsyncBackup[6] bietet eine ähnliche Funktionalität wie Rsync (beispielsweise Hard-Links) und kann zur lokalen Sicherung verwendet werden. RsyncBackup ist aber nicht mit Rsync kompatibel und kann nicht als Client für einen Rsync-Server eingesetzt werden.
Mac OS X
Unter Mac OS X steht als GUI die Open-Source-Software arRsync[7] zur Verfügung.
Siehe auch
- CVSup
- PowerFolder
- Unison
- zsync (Client-seitige Implementierung des Rsync-Algorithmus für den Dateitransfer)
Weblinks
- Webpräsenz von rsync (englischsprachig)
- Webpräsenz von cwRsync (Binärdateien für Microsoft Windows)
- OPByte software, eine GUI für Linux, Mac OS X und Windows (Seite:englischsprachig; GUI: multilingual)
- Rsync-Backup für Windows (NT, 2000, XP, Vista, 7) auf NTFS-Datenträger: Kurzanleitung und Links
- OS/2-Port (englischsprachig)
- flyback
- Windows GUI für rsync
- Windows-Backupskript für einfache Datensicherungen mit Hardlink-Unterstützung
- Deutschsprachige Anleitung zur Dateisynchronisation mittels rsync
Einzelnachweise
- ↑ The rsync algorithm/Checksum searching (englisch)
- ↑ The rsync algorithm (englisch)
- ↑ rdiff-backup
- ↑ a b Download von QtdSync, einer GUI für Windows und Linux (englisch- und deutschsprachig)
- ↑ Webpräsenz von DeltaCopy, einer Microsoft-Windows-GUI (englischsprachig)
- ↑ RsyncBackup
- ↑ Webpräsenz von arRsync für Mac OS
Kategorien:- Datensynchronisation
- Freie Dateitransfer-Software
- Netzwerkprotokoll auf Anwendungsschicht
- Datensicherungssoftware
Wikimedia Foundation.