Rsync HowTo
Mittels dem Protokoll Rsync kann man komfortabel Daten abgleichen. Dabei kann man dieses Protokoll nicht mit einem File-Transfer-Protocol oder ähnlichem vergleichen. Es ist weit aus mächtiger. Rsync kann genau feststellen welchen Änderungen z.B. in einer Textdatei geändert wurden und kann damit als eine Art Patch liefern. Dadurch wird nur der Patch übertragen, also nur die Textpassagen die sich geändert haben.
Das bedeutet das wenig Datenverkehr fließt und eine höhere Rechenleistung angewendet werden. Somit ist das fortsetzen der Dateiübertragung immer problemlos möglich.
Dateien zum Server mittels SSH übertragen
In diesem Beispiel wollen wir unsere erstellten Dokumente auf eine externen Server sichern.
rsync -aPvze ssh document/ hans@server.com:document
Die Parameter haben folgende Bedeutung:
- a kopiere Dateien mit den Optionen symbolische Links, Unterverzeichnis, Rechte (Benutzer, Gruppe und Besitzrechte), Zeiten
- P Fortschrittsanzeige und Fortsetzung beim Abbruch des Transfer
- v Verbose, zeigt alle Änderungen
- z Komprimiert die Daten vor der Übertragung
- e Ermöglicht die nutzung von der Remote Shell somit SSH
Sollten sich die lokalen Dateien verändert haben, dann möchte man die gelöschten Dateien auch nicht mehr Besitzen.
rsync --delete -aPvze ssh document/ hans@server.com:document
Mittels --delete werden nicht mehr verwendeten Dateien gelöscht.
Dateien vom Externen Datenträger A Datenträger B übertragen
Man sollte die Komprimierung in diesem Fall auslassen.
rsync --delete -aPv /media/approach/Trick/ /media/approach/Track/
Ordnern von der Übertragung ausschließen
rsync --delete --exclude=toDelete/ --exclude=Videos/damn/ -aPv /media/approach/Trick/ /media/approach/Track/
Es besteht auch die Möglichkeit eine Datei mit den jeweiligen Ordnern und Dateien anzulegen welche ausgeschlossen werden sollen.
Code Snipet
Backup:
rsync -rvptgluPEze ssh --delete --update --stats --bwlimit=30 user@server:~/ ~/