Migration mit rsync (Linux)
Diese Anleitung zeigt, wie Sie Dateien und komplette Serverinhalte mit rsync über SSH von einem Linux-Server auf einen anderen übertragen – ohne Control Panel, direkt auf der Kommandozeile.
Voraussetzungen: SSH-Zugriff auf beide Server als root. rsync muss auf beiden Servern installiert sein — falls es fehlt: apt install rsync (Debian/Ubuntu) bzw. dnf install rsync (AlmaLinux/Rocky Linux). Verwenden Sie auf dem Zielserver dieselbe Distribution und Hauptversion wie auf dem Quellserver.
rsync-Flags für die Migration
Für eine vollständige Server-Migration empfehlen sich folgende Flags:
| Flag | Bedeutung |
|---|---|
| -a | Archiv-Modus — erhält Berechtigungen, Eigentümer, Symlinks und Zeitstempel |
| -v | Ausführliche Ausgabe — zeigt übertragene Dateien an |
| -z | Komprimierung während der Übertragung — spart Bandbreite |
| --progress | Zeigt Fortschritt je Datei an |
| --delete | Löscht Dateien auf dem Ziel, die auf der Quelle nicht mehr existieren — für saubere Synchronisierung |
| --exclude | Schließt Verzeichnisse oder Dateimuster von der Übertragung aus |
Schritt 1: SSH-Verbindung zwischen den Servern einrichten
Führen Sie dies auf dem Quellserver aus — ersetzen Sie die IP durch die des Zielservers:
Schritt 2: Testlauf durchführen
Führen Sie zuerst einen Testlauf durch, um zu sehen, was übertragen werden würde — ohne tatsächlich Daten zu verschieben:
Prüfen Sie die Ausgabe auf unerwartete Dateien oder Fehler, bevor Sie den echten Transfer starten.
Schritt 3: Vollständigen Transfer starten
Führen Sie den eigentlichen Transfer aus — am besten in einer screen- oder tmux-Sitzung, damit er bei SSH-Trennung weiterläuft:
Die Ausschlüsse sorgen dafür, dass Netzwerkkonfiguration, Laufwerkseinträge (/etc/fstab) und Bootloader des Zielservers erhalten bleiben. Die Dateien einer laufenden Datenbank kann rsync nicht konsistent kopieren — übertragen Sie Datenbanken separat per Datenbank-Migration.
Schritt 4: Delta-Sync vor dem Umschalten
Führen Sie unmittelbar vor dem DNS-Wechsel einen zweiten rsync-Lauf durch — dieser überträgt nur die Änderungen seit dem ersten Lauf und dauert deutlich kürzer:
Schritt 5: Dienste auf dem Zielserver starten & testen
systemctl start nginx, systemctl start mysql etc.)Weiterführende Dokumentation
Alle rsync-Optionen finden Sie in der offiziellen Dokumentation.