rsync ist ein Programm, um Dateien/Verzeichnisse zu synchronisieren (lokal oder auch remote - daher das "r" ).
An dieser Stelle möchte ich - um Irrtümern vorzugreifen - darauf hinweisen das rsync eigentlich nicht wirklich synchronisiert (sondern nur repliziert) das heißt, es ist möglich in einem Dateibaum A Daten hinzufügen und damit B aktuell halten - jedoch nicht umgekehrt: kurzgesagt es beherrscht nur unidirektionales synchronisieren (oder auch replizieren genannt). Wer bidirektionales synchronisieren benötigt (also etwa Daten vom Laptop und PC) muss auf ["unison"] zurückgreifen.
Homepage: http://rsync.samba.org/
Beispiele:
rsync -avb --delete /raid0 /raid1
- damit wird /raid1 (Ziel) mit /raid0 (Quelle) synchronisiert
dazu wird der archive-Modus verwendet, backups werden erstellt, verbose (gesprächig) ist er auch und es werden Dateien gelöscht, die nicht mehr in der Quelle stehen
das steht so ähnlich in der crontab meiner [wiki:ThomasWaldmann/DualAthlonWorkstation DualAthlonWorkstation]
rsync -an --update /raid0 /raid1
Mit -n wird --dryrun aktiviert. Es wird also nicht tatsächlich kopiert. Das ist gut zum Testen.
Mit --update werden Dateien übersprungen, die schon im Zielverzeichnis (/raid1) vorhanden und neuer oder genauso alt sind wie im Quellverzeichnis.
rsync -avzb -e ssh www.meinedomain.de:/ /backups/meinedomain/
- ähnlich wie oben, Quelle ist aber ein Rechner im Internet
die Daten werden vor Übertragung komprimiert (z)
- die Übertragung verwendet ssh (findet also verschlüsselt statt)
Hinweis: Es gibt Binaries, beidenen Ssh nicht Default ist. Dann hilf die Option '-e ssh'.
Tipps:
Wenn die Quelle als letztes Zeichen einen Slash (/) enthält, kopiert rsync dieses Verzeichnis selbst nicht mit, sondern nur die darin enthaltenen Objekte.
rsync -av /test/mp3/ /mp3
kopiert den Inhalt von /test/mp3 in /mp3. Der Befehl
rsync -av /test/mp3 /mp3
würde das Verzeichnis /mp3/mp3 anlegen und dorthin kopieren.
- "--size-only" beim Spiegeln von öffentlichen Servern verwenden, spart Zeit und Bandbreite
- es reicht, wenn auf dem Server sshd läuft und rsync installiert ist, rsyncd braucht man für die o.g. Beispiele nicht laufen lassen
- wenn die User-IDs nicht synchron auf beiden Systemen sind, dann "--numeric-ids" für Backup-Zwecke verwenden, sonst "verbiegt" es die UIDs.
wenn man ab / synchronisieren will und vermeiden will, dass /proc und andere gemountete DateiSysteme erfasst werden, kann die Option "-x" bzw. "--one-file-system" verwendet werden.
wenn man SSH verwendet kann man den Usernamen einfach mit @ abgetrennt vor den Rechnernamen schreiben, also z. B. root@mein.rechner.de:/tmp/bla
- ein Passwort mitzuliefern ist bei SSH nicht möglich. Man wird entweder nach dem Passwort gefragt oder man muss eine Public-Key Authentifizierung einrichten (siehe ["OpenSSH"])
Beispielanwendungen
/SnapshotBackups - Artikel über ein rsync-basierendes Backup-Verfahren mit täglichen/stündlichen "Snapshots".
/SynchronisierteServer - wie man einen Hauptserver und einen Backup-Server weitgehend (aber nicht vollst.) synchron hält.
Weiterentwicklung dieser Idee in Form eines Python-Scripts siehe: http://datamining.anu.edu.au/~ole/work/software/backup/
- ["duplicity"]
- Ein kleines Shellskript zum Synchronisieren von Websites: attachment:wuppen
Bugs
Gestern auf dem LugStuttgart-Treffen haben 2 Anwender von rsync gemeint, dass bei Ihnen rsync ab und zu Dateien "vergessen" hat, genauer gesagt, dass:
- Dateien ausgelassen wurden - obwohl sie in der Quelle existierten, waren sie am Ziel nicht aufzufinden
- Dateien nicht upgedatet wurden - obwohl sie in der Quelle neuer waren als am Ziel, wurden sie am Ziel nicht upgedatet
- rsync baut eine interne Fileliste auf, bevor kopiert wird. Wenn eine sehr große Anzahl von Dateien kopiert werden soll, reicht ggf. der RAM Speicher nicht mehr.
Auf die Frage nach der Version war leider keine exakte Auskunft zu bekommen, außer:
- das rsync, das bei SuSE 7.x dabei ist
- die rsync-Versionen, die in Debian sind (Stable v.a.)
- wer hat ähnliches auch beobachtet? Mit welcher rsync-Version?
- ist der Bug bekannt bei den Entwicklern?
- ist der Bug gefixed, wenn ja, ab wann?
Gute Frage, aber evtl beser für die rsync Mailingliste/Bugzilla search.
Evtl könnte es was ähnliches wie [http://www.mikerubel.org/computers/rsync_snapshots/ hier] unter "Windows-related problems" beschrieben sein.