Das Tool rsync („remote sync“) gibt es bereits seit dem Jahr 1996, es dient bei Unix-basierten Systemen als vielseitiges Kopierwerkzeug. Für Administratoren gehört das Programm zu den Standard-Werkzeugen in folgenden Einsatzgebieten: Dateien lokal und vom Server kopieren, Backups erstellen und Hosts migrieren. Lernen Sie jetzt die grundlegenden Funktionen kennen! 

Warum rsync? Welche Vorteile bietet das Tool? 

Bei Unix-basierten Systemen genügt für viele Kopieraufgaben das „cp“-Kommando. Für spezielle Anforderungen lohnt sich jedoch die Verwendung von rsync. 

  • Ein wichtiger Grund: Zwischen zwei Dateien in einer Quelle und einem Zielpfad kopiert rsync nur den Unterschied. Das spart unter Umständen viele Systemressourcen und Zeit ein. 
  • Der zweite Grund: Die zu kopierenden Daten können während des Kopiervorgangs komprimiert werden. Diesen Vorteil spüren Sie besonders beim Kopieren großer Datenmengen über Netzwerke. 

Das Werkzeug: rsync im Einsatz 

Die meisten Unix-Umgebungen (inklusive macOS) unterstützen den Befehl rsync. Für Windows gibt es geeignete Wrapper. Öffnen Sie das Terminal, um das Tool einzusetzen. 

Dateien kopieren bzw. synchronisieren 

Das folgende Kommando kopiert den Inhalt von Verzeichnis1 in Verzeichnis2:
rsync -av /pfad/zu/Verzeichnis1/ pfad/zu/verzeichnis2/ 

Hinweise: 

  • Achten Sie bei der Pfadangabe auf die finalen „/“-Zeichen. 
  • -a kopiert die Dateien rekursiv und behält User, Gruppen, Dateiberechtigungen und Zeitstempel bei. 
  • -v führt zu einer ausführlichen Ausgabe, was beim Kopieren zahlreicher Dateien praktisch ist. 
  • -z aktiviert die Kompression beim Transferprozess und ist besonders für große Dateien sinnvoll. 

Weitere sinnvolle Parameter für das Kommando rsync: 

  • -help zeigt die verfügbaren Befehle und Optionen an. 
  • -delete löscht die Dateien und Verzeichnisse im Zielverzeichnis, die es nicht im Quellverzeichnis gibt. 

Wichtig: Im Falle eines fehlgeschlagenen Transfers starten Sie den Vorgang mit -append erneut. Der Kopiervorgang wird fortgesetzt. 

Anwendungsbeispiel 1: rsync mit Cron für geplante Backups nutzen 

Die Website Crontab Guru hilft bei den Cron-Befehlen für geplante Backups. 

Die Website Crontab Guru hilft bei den Cron-Befehlen für geplante Backups.

Das Tool Cron unterstützt Sie bei der Automatisierung von Backups. Zum Starten führen Sie im Terminal folgenden Befehl aus:
crontab -e 

Falls Sie einen Editor aussuchen können, ist Nummer 1 empfohlen. Scrollen Sie anschließend zum Dateiende, um einen neuen Job (Zeitplan) zu erstellen. Die Syntax: * * * * * command 

Die *-Zeichen stehen für die Zeiteinheiten: Minute (0-59), Stunde (0-24), Tag (1-7), Monat (1-12), Wochentag (0-6). Mit der Zahlenfolge geben Sie an, wann das Kommando ausgeführt wird. 

Beispiel, um das Backup jeden Montag um 3 Uhr morgens zu starten:
00 03 * * 1 rsync -av/pfad/zu/Verzeichnis1/ pfad/zu/verzeichnis2/ 

Beispiel für ein tägliches Backup um 3.30 Uhr:
30 03 * * *rsync -av /pfad/zu/Verzeichnis1/ pfad/zu/verzeichnis2/ 

Tipp: Auf der Website crontab-guru können Sie sich die Cronjobs übersichtlich einrichten. 

Anwendungsbeispiel 2: Dateien über das Netzwerk verschicken 

Das Verschieben von Dateien über Netzwerke zählt zu den Hauptstärken von rsync. Sie kopieren damit beispielsweise eine Website aus einer Testumgebung zum öffentlichen Server oder speichern Backups des Webprojekts Website extern (lokal) ab. 

Große Auswahl an günstigen Domain-Endungen – schon ab 0,08 € /Monat
Jetzt Domain-Check starten

Wenn Sie eine Website von einem Host zu einem anderen migrieren, würden Sie normalerweise erst mit FTP alle Dateien vom alten Server lokal herunterladen und anschließend auf den neuen Server hochladen. Mit rsync sparen Sie sich diesen zeitraubenden Schritt und kopieren die Dateien direkt von Quell-Server zum Ziel-Server. 

Für die Befehlsausführung müssen der User und die IP-Adresse des Remote-Hosts bekannt sein:
rsync -avz /pfad/zu/Verzeichnis1user@187.164.133.155:/pfad/zum/Remote/Verzeichnis/ 

Zum Herunterladen der Daten von einem Remote-Server drehen Sie den Befehl einfach um:
rsync -avzuser@187.164.133.155:/pfad/zum/Remote/Verzeichnis pfad/zu/Verzeichnis1/ 

Jetzt müssen Sie das Passwort des Remote-Users eingeben und schon startet der Kopiervorgang. 

Beispiel für ein komprimiertes Backup zum Archivieren mit tar-Befehl:
tar -zcvf backupWeb.tar.gz pfad/zum/Verzeichnis/ rsync -avz -remove-source-files pfad/zum/Backup1user@rsyncuser@187.164.133.155:/pfad/zu/Backups/ 

Mit -remove-source-files wird die lokale tar-Datei gelöscht, sodass Sie alte Backups nicht manuell löschen müssen. 

Was ist rsync? – Fazit 

rsync ist ein großartiges Tool zum Kopieren und Verschieben von Dateien und Verzeichnissen. Seine Stärken spielt es besonders bei Remote-Übertragungen aus. Nutzen Sie es in Verbindung mit Cron-Jobs für automatisierte Backups oder zum Beispiel für die Migration einer Website zu einem neuen Host. 

Host Europe

Große Auswahl an günstigen Domain-Endungen – schon ab 0,08 € /Monat
Jetzt Domain-Check starten