Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

tux:rsync [2011/04/16 19:54]
wikisysop
tux:rsync [2013/05/30 12:00] (aktuell)
wikisysop [rsync unter Mac OSX]
Zeile 2: Zeile 2:
 ===== rsync: Anwendung und Beispiele ===== ===== rsync: Anwendung und Beispiele =====
  
-<fc #​008000>​rsync</​fc>​((http://​www.samba.org/​ftp/​rsync/​rsync.html)) 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. Bei der Datenübertragung werden Teile einer Quelldatei (die zu übertragende Datei), die sich bereits in der Zieldatei befinden, nicht übertragen,​ wodurch viel Transfervolumen gespart werden kann (Delta-Kodierung)((http://​de.wikipedia.org/​wiki/​Rsync))((http://​www.mpipks-dresden.mpg.de/​~mueller/​docs/​suse10.0/​suselinux-manual_de/​manual/​sec.net.sync.rsync.html)).+<fc #​008000>​rsync</​fc>​((http://​www.samba.org/​ftp/​rsync/​rsync.html)) ist sowohl ein Netzwerkprotokoll ​(TCP Port 873) 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. Bei der Datenübertragung werden Teile einer Quelldatei (die zu übertragende Datei), die sich bereits in der Zieldatei befinden, nicht übertragen,​ wodurch viel Transfervolumen gespart werden kann (Delta-Kodierung)((http://​de.wikipedia.org/​wiki/​Rsync))((http://​www.mpipks-dresden.mpg.de/​~mueller/​docs/​suse10.0/​suselinux-manual_de/​manual/​sec.net.sync.rsync.html)).
  
 rsync kann zB immer dann verwendet werden, wenn ein Fileserver auf neue Hardware umzieht. Im Gegensatz zu normalen Kopiervorgängen,​ wo uU bei einem Fehler der komplette Kopiervorgang abgebrochen wird, kann rsync diese Fehler ignorieren bzw. übergehen und ggf die Fehler in ein Log-File schreiben. Gerade bei Fileservern kann es uU auch wichtig sein, den original Zeitstempel der Dateien und Verzeichnisse zu erhalten; normale Kopiervorgänge zB ändern das Änderungsdatum auf das aktuelle zum Zeitpunkt des Kopierens. rsync wird durch seine Eigenschaft,​ nicht den gesamten Verzeichnisbaum zu kopieren, sondern nur geänderte Daten und davon auch nur Teile, auch in verschiedenen Backup-Szenarien Anwendung finden. ​ rsync kann zB immer dann verwendet werden, wenn ein Fileserver auf neue Hardware umzieht. Im Gegensatz zu normalen Kopiervorgängen,​ wo uU bei einem Fehler der komplette Kopiervorgang abgebrochen wird, kann rsync diese Fehler ignorieren bzw. übergehen und ggf die Fehler in ein Log-File schreiben. Gerade bei Fileservern kann es uU auch wichtig sein, den original Zeitstempel der Dateien und Verzeichnisse zu erhalten; normale Kopiervorgänge zB ändern das Änderungsdatum auf das aktuelle zum Zeitpunkt des Kopierens. rsync wird durch seine Eigenschaft,​ nicht den gesamten Verzeichnisbaum zu kopieren, sondern nur geänderte Daten und davon auch nur Teile, auch in verschiedenen Backup-Szenarien Anwendung finden. ​
Zeile 57: Zeile 57:
 ==== Beispiele ==== ==== Beispiele ====
  
-Lokal das Verzeichnis >>​~/​Desktop/​Bilder<<​ nach >>/​tmp/​archiv<<​ kopieren:+Lokal das Verzeichnis >><fc #008000>​~/​Desktop/​Bilder</fc><< nach >><fc #008000>/​tmp/​archiv</fc><< kopieren:
  
 <​xterm>​$ <fc #​008000>​rsync ~/​Desktop/​Bilder/​ /​tmp/​archiv/</​fc>​ <​xterm>​$ <fc #​008000>​rsync ~/​Desktop/​Bilder/​ /​tmp/​archiv/</​fc>​
Zeile 88: Zeile 88:
 In diesem Fall werden Sie zweimal aufgefordert ein Passwort einzugeben. Das erste mal für das sudo Kommando -> Das ist das Passwort eines administrativen Benutzers (root) auf der lokalen Maschine) und das zweite Mal für die Login Daten des Remote Servers. In diesem Fall werden Sie zweimal aufgefordert ein Passwort einzugeben. Das erste mal für das sudo Kommando -> Das ist das Passwort eines administrativen Benutzers (root) auf der lokalen Maschine) und das zweite Mal für die Login Daten des Remote Servers.
  
-Um nur die Verzeichnisstruktur,​ jedoch keine Dateien zu kopieren, können entsprechende Filter gesetzt werden. Der Filter >><​fc #​008000>​-f"​+ */</​fc>"<<​ includiert (+) alle Verzeichnisse (*/) und der Filter >><​fc #​008000>​-f"​- *"</​fc><<​ schließt alle Dateien aus:+** Einsatz von Filtern:​** ​Um nur die Verzeichnisstruktur,​ jedoch keine Dateien zu kopieren, können entsprechende Filter gesetzt werden. Der Filter >><​fc #​008000>​-f"​+ */</​fc>"<<​ includiert (+) alle Verzeichnisse (*/) und der Filter >><​fc #​008000>​-f"​- *"</​fc><<​ schließt alle Dateien aus:
  
 <​xterm>​$ <fc #​008000>​rsync -a -f"+ */" -f"- *" /Quelle /​Ziel</​fc></​xterm>​ <​xterm>​$ <fc #​008000>​rsync -a -f"+ */" -f"- *" /Quelle /​Ziel</​fc></​xterm>​
Zeile 102: Zeile 102:
 Die rsync Implementierung unter Mac OSX hält noch eine Besonderheit bereit, es kann mit den >>​Extended Attributes<<​ von Apple umgehen. Wir wollten damit über den Umweg einer Mac OSX Workstation einen Third Party AFP Server (Helios) auf einen anderen (ExtremeZ-IP) migrieren. Dabei wurden auf der Workstation beide Server gemountet und im Terminal ein rsync mit dem Parametersatz >><​fc #​008000>​rsync -vvrltuX --ignore-errors --delete --force --exclude='​Network Trash Folder'​ //$SRC// //​$DST//</​fc><<​ angeworfen. Dabei sorgt dann im Prinzip das AFP Protokoll für die Weitergabe der EAs und jeder AFP Server für sich dann für das korrekte Abspeichern der EAs in seinem Filesystem. ​ Die rsync Implementierung unter Mac OSX hält noch eine Besonderheit bereit, es kann mit den >>​Extended Attributes<<​ von Apple umgehen. Wir wollten damit über den Umweg einer Mac OSX Workstation einen Third Party AFP Server (Helios) auf einen anderen (ExtremeZ-IP) migrieren. Dabei wurden auf der Workstation beide Server gemountet und im Terminal ein rsync mit dem Parametersatz >><​fc #​008000>​rsync -vvrltuX --ignore-errors --delete --force --exclude='​Network Trash Folder'​ //$SRC// //​$DST//</​fc><<​ angeworfen. Dabei sorgt dann im Prinzip das AFP Protokoll für die Weitergabe der EAs und jeder AFP Server für sich dann für das korrekte Abspeichern der EAs in seinem Filesystem. ​
  
-In diesem speziellen Setup war jedoch eine gepatchte rsync Version von Nöten. Bei der Default rsync Version 3.0.7 werden die erweiterten Attribute auf dem Quellserver nicht korrekt ausgelesen, was beim Transport einen Fehler erzeugt. Mike Bombich hat eine [[http://​www.bombich.com/​rsync.html|-> ​gepatchte Version]] in seinem Blog bereit gestellt, welche den korrekten Transport der EAs gewährleisten soll((http://​www.bombich.com/​rsync.html)). Aber auch diese Version hatte einen Bug, welcher vor Allem bei hohen Datenmengen und großen Verzeichnistiefen wieder für Probleme bei den erweiterten Attributen sorgte aber dieser Bug wurde im März 2011 dann von Mike gefixt und ab da konnten wir auch erfolgreich unseren Fileserver migrieren. Einen herzlichen Dank an Mike an dieser Stelle für den Bugfix.+In diesem speziellen Setup war jedoch eine gepatchte rsync Version von Nöten. Bei der Default rsync Version 3.0.7 werden die erweiterten Attribute auf dem Quellserver nicht korrekt ausgelesen, was beim Transport einen Fehler erzeugt. Mike Bombich hat eine gepatchte Version in seinem Blog bereit gestellt, welche den korrekten Transport der EAs gewährleisten soll((http://​www.bombich.com/​rsync.html)). Aber auch diese Version hatte einen Bug, welcher vor Allem bei hohen Datenmengen und großen Verzeichnistiefen wieder für Probleme bei den erweiterten Attributen sorgte aber dieser Bug wurde im März 2011 dann von Mike gefixt und ab da konnten wir auch erfolgreich unseren Fileserver migrieren. Einen herzlichen Dank an Mike an dieser Stelle für den Bugfix. Leider ist es Stand 05/2013 nun so, dass Mike diese Version von seiner Webseite entfernt hat
 \\ \\  \\ \\ 
  --- //pronto 2011/01/28 10:10//  --- //pronto 2011/01/28 10:10//
-{{keywords>​rsync resource fork extended attribute xattr bombich 3.0.7 copy synchronisieren}}<​xterm>​+{{keywords>​rsync resource fork extended attribute xattr bombich 3.0.7 copy synchronisieren}}
tux/rsync.1302976441.txt.gz (35578 views) · Zuletzt geändert: 2011/04/16 19:54 von wikisysop
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0