RSYNC installieren

Schritt-für-Schritt-Anleitung zur Installation und Konfiguration von Remote Synchronization (RSYNC) für die Datensynchronisierung.

rsync (Remote Synchronization) ist eine plattformübergreifende Kommandozeilenanwendung zur Datensynchronisation mit minimalem Bandbreiteverbrauch. Sie wird häufig für Backups, Migrationen und das Spiegeln von Daten zwischen Servern eingesetzt.

Mit rsync lassen sich beispielsweise Projekte vom Webhosting auf einen VPS übertragen, Verzeichnisse zwischen mehreren dedizierten Servern synchronisieren und aktuelle Dateikopien innerhalb der Infrastruktur pflegen.

rsync installieren

Um das rsync-Modul auf dem Server zu installieren, führen Sie je nach Betriebssystem die entsprechenden Befehle aus.

Für CentOS:

yum -y install rsync

Für Debian/Ubuntu:

sudo aptitude install rsync

Unsere Produkte und Dienste

WebhostingLäuft auf ultraschnellen NVMe-Laufwerken. Geeignet für Websites jeder Komplexität.
Bestellen
VPSFlexible Cloud-Infrastruktur mit vollem Root-Zugriff.
Bestellen
Dedizierte ServerBare-Metal-Server für maximale Leistung.
Bestellen

Beispiele zur Verwendung von rsync

Lokale Synchronisation

sudo rsync -avh --delete /var/www/ /root/backup/www/

Dieser Befehl synchronisiert den Inhalt des Verzeichnisses /var/www/ mit /root/backup/www/ und löscht dabei Dateien, die in der Quelle nicht mehr vorhanden sind. Dies ist nützlich, um einen Verzeichnis-Spiegel zu erstellen.

Synchronisation auf einen Remote-Server

sudo rsync -avh --delete /var/www/ root@192.168.1.50:/root/backup/www/

In diesem Beispiel werden Dateien per SSH auf einen anderen Server kopiert. Dafür muss rsync auf beiden Servern installiert sein.

Synchronisation vom Remote-Server auf den lokalen Rechner

sudo rsync -avh root@192.168.1.50:/var/www/ /root/backup/www/

Dieses Beispiel zeigt die Synchronisation von Daten von einem Remote-Server auf einen lokalen Rechner. Damit lassen sich Dateien von einem anderen Server übertragen.

Synchronisation per SSH mit einem nicht standardmäßigen Port

sudo rsync -avh -e "ssh -p 1111" root@192.168.1.50:/var/www/ /root/backup/www/

Ist der SSH-Server für einen nicht standardmäßigen Port konfiguriert, z. B. 1111, wird der Parameter -e zur Portangabe verwendet. Dieses Beispiel ermöglicht die Dateisynchronisation über SSH auf einem anderen Port.

Verzeichnisse ausschließen

sudo rsync -avh --exclude='dir/' --exclude='dir/tmp/' /var/www/ /root/backup/www/

In diesem Beispiel werden Dateien aus den Verzeichnissen dir und dir/tmp von der Synchronisation ausgeschlossen. Dies ist hilfreich, wenn temporäre oder überflüssige Daten vom Backup ausgenommen werden sollen.

Dateien vom Remote-Server übertragen (mit Löschen der Quelle)

sudo rsync -avh --remove-source-files root@192.168.1.50:/var/www/ /var/www/

Dieses Beispiel kopiert Dateien von einem Remote-Server und entfernt sie gleichzeitig aus dem Quellverzeichnis. Dies ist bei der Datenmigration von einem Server auf einen anderen nützlich.

MySQL-Datenbank auf ein anderes Laufwerk kopieren

sudo rsync -vrplogDtH --progress /var/lib/mysql/ /newhdd/var/lib/mysql/

Dieses Beispiel dient zum Kopieren einer gesamten MySQL-Datenbank einschließlich ihrer Struktur und Dateien. Mit der Option --progress lässt sich der Übertragungsfortschritt verfolgen.

Häufig verwendete rsync-Parameter und Flags

  • -v — Verbose-Modus: gibt zusätzliche Informationen über den Kopiervorgang aus.
  • -r — Rekursives Kopieren (recursive): wird zum Kopieren von Verzeichnissen verwendet.
  • -a — Archiv-Modus (archive): erhält Zugriffsrechte, Symlinks, Zeitstempel und Verzeichnisstruktur.
  • -b — Backup-Modus: erstellt Kopien geänderter Dateien, bevor diese ersetzt werden.
  • -c — Prüfsummenverifikation (checksum): stellt sicher, dass die Daten korrekt synchronisiert wurden.
  • --delete — löscht Dateien, die im Quellordner nicht mehr vorhanden sind.
  • -h — Human-readable-Ausgabe: zeigt Dateigrößen in einem lesbaren Format an (z. B. in Megabyte).
  • -n — Dry-run-Modus: zeigt an, was ausgeführt würde, ohne Änderungen vorzunehmen.
  • -p — Erhalt der Dateiberechtigungen (permissions).
  • -z — Datenkomprimierung bei der Übertragung (compress): reduziert das übertragene Datenvolumen.
  • -H — Erhalt von Hardlinks (hard links), sofern in den Quelldaten vorhanden.
  • -x — Beschränkung auf ein einzelnes Dateisystem (one-file-system).

Die vollständige Liste der verfügbaren Optionen finden Sie in der Manpage:

man rsync

Hilfe

Bei Fragen oder wenn Sie Unterstützung brauchen, erreichen Sie uns jederzeit über das Ticketsystem — wir helfen Ihnen gern weiter!

Hilfe benötigt?Unsere Ingenieure helfen Ihnen kostenlos bei jeder Frage in wenigen MinutenKontaktieren Sie uns