rsync
| {{#if: rsync | rsync | {{#invoke:WLink|getArticleBase}} }}
{{#if: | | ||||||||
|---|---|---|---|---|---|---|---|---|
colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | |
{{#if: {{#invoke:Wikidata|claim|P154}} |
| ||||||||
[[Datei:{{#invoke:Wikidata|claim|P154}}|150px]]
}} }}{{#if: | | ||||||||
| {{#if: | }}| }} | ||||||||
| Basisdaten
{{#if: Wayne Davison | | ||||||||
| Hauptentwickler |
{{#if: {{#invoke:Wikidata|claim|P126}} |
| |||||||
| Maintainer | claim|P126|parameter=link|references=ja|list=, }}
}} }}{{#if: Andrew Tridgell, Paul Mackerras | | |||||||
| Entwickler |
{{#if: {{#invoke:Wikidata|claim|P178}} |
| |||||||
| Entwickler | claim|P178|parameter=link|references=ja|list=, }}
}} }}{{#if: | | |||||||
| Erscheinungsjahr |
{{#if: {{#invoke:Wikidata|claim|P577}} |
| |||||||
| Erscheinungsjahr | claim|P577|references=ja|list=, }} |
{{#if: {{#invoke:Wikidata|claim|P571}} |
| |||||||
| Erscheinungsjahr | claim|P571|references=ja|list=, }}
}} }} }}{{#ifeq: | KEINE_ANGABE || {{#if: | | |||||||
| Aktuelle Version | ({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an. |
format | | {{#timefl:now|date}}}} | {{{2}}} | T._Monat JJJJ}} | lang= {{#switch: | -|=de | #default=de-AT
}} }} }}) }} |
{{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813}} |
|
| Aktuelle Version | claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}} | ({{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}}) }}}}}} }}{{#ifeq: | KEINE_ANGABE || {{#if: | | |||||||
| Aktuelle Vorabversion | ({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an. |
format | | {{#timefl:now|date}}}} | {{{2}}} | T._Monat JJJJ}} | lang= {{#switch: | -|=de | #default=de-AT
}} }} }}) }} |
{{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724}} |
|
| Aktuelle Vorabversion | claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}} | ({{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}}) }}}}}} }}{{#if: | | |||||||
| Ausführungsumgebung |
{{#if: Unix und Unix-artig (z. B. Linux, macOS, Solaris); Portierungen: u. a. OS/2, Windows |
| |||||||
| Betriebssystem | Unix und Unix-artig (z. B. Linux, macOS, Solaris); Portierungen: u. a. OS/2, Windows |
{{#if: {{#invoke:Wikidata|claim|P306}} |
| |||||||
| Betriebssystem | claim|P306|parameter=link|references=ja|list=, }}
}} }} }}{{#if: | | |||||||
| Programmiersprache |
{{#if: {{#invoke:Wikidata|claim|P277}} |
| |||||||
| Programmiersprache | claim|P277|parameter=link|references=ja|list=, }}
}} }}{{#if: Synchronisation | | |||||||
| Kategorie | Synchronisation
}}{{#if: GPL (Freie Software) | | |||||||
| Lizenz | GPL (Freie Software) |
{{#if: {{#invoke:Wikidata|claim|P275}} |
| |||||||
| Lizenz | claim|P275|parameter=link|references=ja|list=, }}
}} }}{{#if: | | |||||||
| deutschsprachig | faculty|}} | ja | nein }}
}}{{#if: | | |||||||
| Sonstiges | {{{Sonstiges}}}
}}{{#if: rsync.samba.org | | |||||||
rsync.samba.org |
{{#if: {{#invoke:Wikidata|claim|P856|notdeprecated=1}} |
| ||||||||
{{#invoke: WLink | formatURL | {{#invoke:Wikidata|claim|P856|parameter=link|notdeprecated=1}}}}
}} }}{{#if: | | ||||||||
| Dateien | [[c:Category:Created with |]]
}} | |||||||
rsync ist sowohl ein Netzwerkprotokoll als auch ein unter der GPL stehendes Programm zur Synchronisation von Daten, meistens über ein Rechnernetz. Die Synchronisation läuft bei rsync nur unidirektional ab, also von einem Quell- zu einem Zielverzeichnis.
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 dieser Datei auf das Zielsystem übertragen (Delta-Kodierung), womit Zeit gespart wird. rsync wurde unter anderem von Paul Mackerras und Andrew Tridgell aus dem Samba-Team entwickelt.
Funktionsweise
Rsync überträgt eine Datei (die Quelldatei) von einem Server auf eine Zieldatei auf einem Client. Existiert diese Zieldatei bereits, so überprüft rsync, ob diese gegenüber der Quelldatei verändert vorliegt und gleicht daraufhin die Zieldatei an die Quelle an. Dabei werden Dateigröße und -datum verglichen. Ruft man rsync mit entsprechenden Parametern auf, können die Dateien auch anhand ihrer Checksummen verglichen werden. Das ist jedoch deutlich zeitaufwändiger.
Um die Daten anzugleichen, wird als erstes die Zieldatei in Blöcke einer bestimmten Länge unterteilt, für die jeweils zwei Prüfsummen gebildet werden. Die erste dieser Prüfsummen ist rollierend und daher 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,<ref>The rsync algorithm/Checksum searching (englisch)</ref> allerdings ist ihre Berechnung sehr viel aufwändiger. Diese zweite Prüfsumme wurde im ursprünglichen Entwurf mit dem MD4-Verfahren berechnet;<ref>The rsync algorithm (englisch)</ref> seit dem Release 3.0.0 von rsync wird stattdessen MD5 benutzt.<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20080320001756
| {{#ifeq: 20080320001756 | *
| {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://rsync.samba.org/ftp/rsync/src/rsync-3.0.0-NEWS}} }} (Archivversionen)
| {{#iferror: {{#time: j. F Y|20080320001756}}
| {{#if: || }}Der Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
| {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://rsync.samba.org/ftp/rsync/src/rsync-3.0.0-NEWS}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2024-04-29 16:29:06 InternetArchiveBot | 2024-04-29 16:29:06 InternetArchiveBot | }} | des Vorlage:Referrer }} vom {{#time: j. F Y|20080320001756}} im Internet Archive{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
}}
| {{#if:
| {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
| {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
| 16= {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://rsync.samba.org/ftp/rsync/src/rsync-3.0.0-NEWS}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2024-04-29 16:29:06 InternetArchiveBot | 2024-04-29 16:29:06 InternetArchiveBot | }} | des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| 9 = {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://rsync.samba.org/ftp/rsync/src/rsync-3.0.0-NEWS}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2024-04-29 16:29:06 InternetArchiveBot | 2024-04-29 16:29:06 InternetArchiveBot | }} | des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!{{#if: || }}
}}
| c|{{{webciteID}}}}} {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://rsync.samba.org/ftp/rsync/src/rsync-3.0.0-NEWS}} }} ({{#if: {{#if: 2024-04-29 16:29:06 InternetArchiveBot | 2024-04-29 16:29:06 InternetArchiveBot | }} | des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
| {{#if:
| Vorlage:Webarchiv/Today
| {{#if:
| Vorlage:Webarchiv/Generisch
| {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://rsync.samba.org/ftp/rsync/src/rsync-3.0.0-NEWS}} }}
}}}}}}}}{{#if:2024-04-29 16:29:06 InternetArchiveBot
| Vorlage:Webarchiv/archiv-bot
}}{{#invoke:TemplatePar|check
|all = url=
|opt = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
|cat = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
|errNS = 0
|template = Vorlage:Webarchiv
|format = *
|preview = 1
}}{{#ifexpr: {{#if:20080320001756|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
}}{{#if:
| {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
| web.archive.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}}
| webcitation.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}}
| archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
}}{{#if:
| {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
| }}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
}}
| {{#if:
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
}}
}}{{#if:{{#invoke:URLutil|isHostPathResource|http://rsync.samba.org/ftp/rsync/src/rsync-3.0.0-NEWS}}
|| {{#if: || }}
}}{{#if: Archivierte Kopie
| {{#if: {{#invoke:WLink|isBracketedLink|Archivierte Kopie}}
| {{#if: || }}
}}
| {{#if: || }}
}}{{#switch:
|addlarchives|addlpages= {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
}}{{#ifeq: {{#invoke:Str|find|http://rsync.samba.org/ftp/rsync/src/rsync-3.0.0-NEWS%7Carchiv}} |-1
|| {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://rsync.samba.org/ftp/rsync/src/rsync-3.0.0-NEWS%7C4}}%7Chttp}} |-1
|| {{#switch: {{#invoke:Webarchiv|getdomain|http://rsync.samba.org/ftp/rsync/src/rsync-3.0.0-NEWS }}
| abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org =
| #default = {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
}}
}}
}}</ref>
Mit den Prüfsummen werden Anweisungen generiert, 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 das Zielsystem nun durch Befolgen dieser Vorschriften eine exakte Kopie der Quelldatei.
Zur Kommunikation wird der TCP-Port 873 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 Spiegelserver ("mirror"), wie z. B. bei rsnapshot und Datenübertragung für den Umzug der Software auf eine neue Hardware.<ref>rsync und Serverumzug (II)</ref> 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. rsync selbst kennt zwar keine Verschlüsselung, diese kann jedoch von ssh übernommen werden.
rsync ist für alle gängigen Unix- bzw. unixoide 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 (macOS), die das rsync-Protokoll unterstützen. Die derzeit aktuelle RsyncX-Version unterstützt allerdings nur eine veraltete Version von rsync.
rdiff-backup
{{#if: rdiff-backup|{{#ifexist:rdiff-backup|
|{{#if: |{{#ifexist:{{{2}}}|
|{{#if: |{{#ifexist:{{{3}}}|
|}}|}}|}}|}}|}}|Einbindungsfehler: Die Vorlage Hauptartikel benötigt immer mindestens ein Argument.}}
Der rsync-Algorithmus wird in der Backup-Lösung rdiff-backup<ref>rdiff-backup</ref> eingesetzt. Diese Software wird für Linux, macOS und Windows angeboten.
Damit können auf lokalen oder entfernten Rechnern liegende Dateien oder Verzeichnisse in einem Backup-Mirror gesichert werden. Zusätzlich lässt sich jede ältere Version einer Datei oder eines Verzeichnisses wiederherstellen, da rdiff-backup reverse deltas in platzsparender Weise speichert – nur die Teile der Quelldateien, die sich verändert haben, werden übertragen. Das macht rdiff-backup zur bevorzugten Backup-Software für große Dateien, die sich nur wenig verändern (z. B. E-Mail-Postfächer auf dem lokalen Rechner, virtuelle Maschinen).
Mit dem Werkzeug archfs kann ein mit rdiff-backup erstelltes Backup-Verzeichnis als virtuelle Festplatte eingebunden (engl. "mount") werden. Alle gesicherten Daten sind nun als "snapshots" zugänglich, ähnlich wie bei Rsnapshot und Back In Time.<ref>archfs im Ubuntu-Handbuch (abgerufen am 12. April 2014)</ref>
Grafische Oberflächen
Linux
Als Teil der Sammlung GAdmintools gibt es mit GADMIN RSYNC eine grafische Benutzeroberfläche zur Administration des rsync-Servers und dessen Clients.
Rsync wird außerdem als Grundlage für BackInTime verwendet – eine einfache grafische Backup-Software, ähnlich Apples Time Machine.
Weitere grafische Oberflächen sind bei den Linux-Versionen von QtdSync<ref name="QtdSync">Download von QtdSync, eine grafische Oberfläche für Windows und Linux (englisch- und deutschsprachig)</ref> und Unison zu finden.<ref name=Unison>Website von Unison mit grafischer Oberfläche für Windows, Linux und Mac OS x</ref>
macOS
Unter macOS steht neben Unison<ref name="Unison" /> als grafische Oberfläche die Open-Source-Programme arRsync<ref>Website von arRsync</ref> und grsyncx<ref>grsyncx-Quelltext auf GitHub</ref> zur Verfügung.
Windows
Grafische Oberflächen für Windows – die sowohl Client- als auch Server- oder Daemon-Funktionen unterstützen – sind beispielsweise DeltaCopy,<ref>Website von DeltaCopy, einer grafischen Oberfläche für Windows (englisch)</ref> QtdSync<ref name="QtdSync" /> oder Unison.<ref name="Unison" />
HardlinkBackup<ref>HardlinkBackup</ref> (früher RsyncBackup) bietet eine ähnliche Funktionalität wie Rsync (beispielsweise Hardlinks) und kann zur lokalen Sicherung verwendet werden. Es ist aber nicht mit rsync kompatibel und kann deshalb nicht als Client für einen Rsync-Server eingesetzt werden.
Mit Acrosync<ref>Acrosync</ref> gibt es eine eigenständige Win32-Rsync-Implementierung, die nicht auf dem rsync-Sourcecode aufbaut.
Rsync läuft auch mit Cygwin, einer POSIX-API und Toolsammlung für Windows, sowie mit Hilfe des Windows Subsystem for Linux.
Siehe auch
Weblinks
- Website von rsync (englisch)
- Website von cwRsync (Binärdateien für Windows) (englisch)
- OS/2-Port (englisch)
- Windows-Backupskript für einfache Datensicherungen mit Hardlink-Unterstützung aus der Computerzeitschrift c't 9/2006
Einzelnachweise
<references />
- Wikipedia:Vorlagenfehler/Parameter:Datum
- Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
- Wikipedia:Vorlagenfehler/Vorlage:Webarchiv/Archiv-URL
- Wikipedia:Vorlagenfehler/Parameter:URL
- Wikipedia:Vorlagenfehler/Parameter:Linktext
- Wikipedia:Vorlagenfehler/Vorlage:Webarchiv/Linktext fehlt
- Datensynchronisation
- Freie Dateitransfer-Software
- Internet-Dateiübertragungsprotokoll
- Freie Datensicherungssoftware
- Internet-Anwendungsprotokoll
- Abkürzung