Mit rsync können Sie Dateien, Verzeichnisse und komplette Serverinhalte sicher und effizient ü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 ist auf den meisten Linux-Distributionen vorinstalliert — falls nicht: apt install rsync bzw. yum install rsync.
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 |
Führen Sie dies auf dem Quellserver aus — ersetzen Sie die IP durch die des Zielservers:
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.
Führen Sie den eigentlichen Transfer aus — am besten in einer screen- oder tmux-Sitzung, damit er bei SSH-Trennung weiterläuft:
Schließen Sie während des Transfers keine aktiven Dienste auf dem Quellserver — aktive Datenbankdateien sollten separat per Datenbank-Migration übertragen werden.
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:
systemctl start nginx, systemctl start mysql etc.)Alle rsync-Optionen finden Sie in der offiziellen Dokumentation.