rsync (Remote Sync) synchronisiert Dateien und Verzeichnisse — lokal oder über eine SSH-Verbindung. Seine Stärke ist die Delta-Übertragung: rsync vergleicht Quelle und Ziel und überträgt nur die Teile, die sich geändert haben. Nach dem ersten Lauf sind Sicherungen dadurch extrem schnell — das unterscheidet rsync vom Einmal-Kopieren mit scp.
Grundform
rsync -avz quelle/ ziel/
rsync -avz /home/benutzer/www/ Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein. :/backup/www/
rsync -avz Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein. :/backup/www/ /home/benutzer/wiederherstellung/
Die erste Zeile synchronisiert lokal, die zweite hoch, die dritte herunter. Ohne SSH-Angabe (kein benutzer@host:) arbeitet rsync rein lokal.
Die Standard-Optionen
-a(Archive) — erhält Rechte, Zeiten, Links und mehr; entspricht-rlptgoD. Die Grundlage fast jedes rsync-Aufrufs.-v— ausführliche Ausgabe;-z— komprimieren;-h— menschenlesbare Größen.-n(Dry-Run) — zeigt ohne Änderungen, was passieren würde; immer vor--deletetesten.--delete— löscht am Ziel, was an der Quelle fehlt (exakte Spiegelung — Vorsicht!).--progress— Fortschrittsanzeige;--stats— Zusammenfassung am Ende.-e sshbzw.-e 'ssh -p 2222'— Remote-Shell und SSH-Port festlegen (bei nicht standardmäßigen Ports).--exclude='*.tmp'— bestimmte Muster auslassen; mehrfach angeben.
Schrägstrich-Falle
Ein abschließender Schrägstrich bei quelle/ bedeutet „der Inhalt des Ordners“, ohne Schrägstrich wird der Ordner selbst ins Ziel gelegt. Das ist die häufigste rsync-Falle und entscheidet, ob ziel die Dateien direkt oder in einem Unterordner erhält.
Inkrementelle Sicherungen mit --link-dest
rsync -av --link-dest=/backup/vortag/ /home/benutzer/www/ /backup/heute/
Mit --link-dest legt rsync unveränderte Dateien als Hardlinks auf eine frühere Sicherung — es entsteht eine vollständige Sicherung, die aber kaum zusätzlichen Speicher verbraucht. So baut man einfache tägliche Backup-Rotationen auf.
Verwandte Grundlagen: ssh, scp und rsync im Überblick, sftp-Befehle, SSH-Schlüssel.