APP – Sonstiges – RSync

rsync
rsync gleicht Dateien und Ordner zwischen Lokalen oder Remote Systemen ab. die Synchronisation findet von der Quelle zum Ziel statt.
Rsync kopiert dabei auch nur neue oder geänderte Daten.

Syntax : rsync [optionen] quelle ziel

Optionen :
-a
Steht für „archive“ und ist einer der am häufigsten verwendeten Optionen.
Die Option -a beinhaltet folgende Optionen -rlptgoD und kopiert somit Unterverzeichnisse, Symbolische Links und Rechte von Usern, Gruppen und Andere sowie die Zeitstempel der Dateien und Ordner von der Quelle.
Kurz gesagt „-a“ macht eine 1zu1 Kopie von Quelle zum Ziel und ist grade für backups ideal geeignet.

-v
Steht für “verbose” und Zeigt während der Synchronisation alles was rsync macht grade an.

–delete
Löscht Daten die sich nicht (mehr) in der Quelle befinden. wird oft bei Backupscripten verwendet oder wenn Ordner 1zu1 immer auf den gleichen Stand sein sollen.

-u
Steht für “update” und überspringt Daten die im Ziel neuer als in der Quelle sind

-n
(–dry-run) Simuliert also nur was rsync machen würde, ohne echte Daten zu Kopieren oder zu überschreiben.

–exclude=PATTERN
Exkludiert bestimmte Daten die mit „PATTERN“ definiert werden beim übertragen.

–iconv
Konvertiert Daten zwischen Systemen mit verschiedenen Codepages

–progress
Zeigt die Zeit in Prozent und Geschwindigkeit beim übertragen von Daten an.

Beispiele
rsync -av /var/www /mnt/backup
Kopiert alle Daten inkl. Unterordner von /var/www nach /mnt/backup/www und behält dabei die Rechte und Zeitstempel der Dateien und Ordner bei.

rsync -av –exclude=’*.txt‘ /opt/tools/ root@meinserver.de:/opt/tools
Kopiert alle Daten inkl. Unterordner ausser die mit *.txt enden von /opt/tools auf den entfernten Server root@meinserver.de in den Ordner /opt/tools

Beispiel für ein Backup mit rsync : (hier : Musik-Ordner von iTunes)
rsync  -aze ssh –delete ~/Music/iTunes/ /Volumes/Daten/Backup/iTunes/

rsync leitet den Aufruf des Programms ein
-a (archiv): Bewirkt das Selbe wie die Parameterfolge -rlptgoD
-r (recursive): Unterverzeichnisse kopieren
-l (links): Symbolische Links werden kopiert
-p (perms): Dateiberechtigungen der Quelldatei beim Kopieren beibehalten
-t (times): Zeitstempel der Quelldatei beim Kopieren beibehalten
-g (group): Gruppenrechte der Quelldatei beim Kopieren beibehalten
-o (owner): Besitzrechte beibehalten
-D (devices specials): Spezielle Dateien werden ebenfalls mit kopiert
-z (compress): Die Dateien werden von der Quelle zum Ziel komprimiert übertragen
-e ssh: Daten werden per SSH getunnelt, sofern man zum Ziel per SSH Zugang hat.
–delete: Dateien im Zielverzeichnis werden entfernt, wenn diese auch im Quellverzeichnis gelöscht wurden

Der Pfad ~/Music/iTunes/ gibt das Quellverzeichnis an (~ ist analog dem Pfad: /Users/IhrBenutzername).
Der letzte Pfad das Zielverzeichnis: /Volumes/Daten/Backup/iTunes/
Optionen von rsync anzeigen lassen :
rsync –help

rsync -a /Users/ralfwilken/Desktop/Ordner_1/ /Users/ralfwilken/Desktop/Ordner_2/

GANZ WICHTIG :
rsync -av /Daten/Bilder/Fotoarchiv_Files/2007/2007_03/ /Volumes/RAW_03 kopiert die einzelnen Dateien eines Ordners an das Ziel
rsync -av /Daten/Bilder/Fotoarchiv_Files/2007/2007_03 /Volumes/RAW_03 kopiert den Ordner mit den Dateien drin an das Ziel

Der Unterschied liegt in dem „/“ nach …/2007/2007_03/

Ordner ausschließen : –exclude=/verzeichnis