scp und rsync kopieren Dateien über SSH. Verwenden Sie sie für Konfigurationen, Skripte, Backups, Welten und Server-Ordner, wenn SFTP nicht praktisch ist.
scp ist am besten für schnelle einmalige Kopien geeignet. rsync ist besser für wiederholte Synchronisierungen, da es nur geänderte Dateien kopieren, Berechtigungen beibehalten, Ordner ausschließen, Änderungen vorschauen und Löschungen spiegeln kann, wenn Sie es anweisen.
Eine Datei mit scp kopieren
scp ./server.cfg username@VPS_IP_ADDRESS:/home/username/server.cfg
Einen Ordner mit scp kopieren
scp -r ./world username@VPS_IP_ADDRESS:/home/username/world
Einen benutzerdefinierten SSH-Port mit scp verwenden
scp verwendet ein großes -P für den SSH-Port:
scp -P 2222 ./server.cfg username@VPS_IP_ADDRESS:/home/username/server.cfg
Einen SSH-Schlüssel mit scp verwenden
scp -i ~/.ssh/mykey ./server.cfg username@VPS_IP_ADDRESS:/home/username/server.cfg
Einen Ordner mit rsync synchronisieren
rsync -avz ./world/ username@VPS_IP_ADDRESS:/home/username/world/
Der abschließende Schrägstrich ist wichtig. ./world/ kopiert den Inhalt des Ordners in den Zielordner. Ohne den abschließenden Schrägstrich kopiert rsync den Ordner selbst in das Ziel.
Ein rsync vor dem Kopieren vorschauen
Verwenden Sie --dry-run, wenn Sie überprüfen möchten, was sich ändern würde, bevor Sie die entfernten Dateien berühren:
rsync -avz --dry-run ./world/ username@VPS_IP_ADDRESS:/home/username/world/

Einen Ordner exakt spiegeln
--delete entfernt entfernte Dateien, die lokal nicht mehr existieren. Dies ist nützlich für exakte Spiegelungen, aber gefährlich, wenn Sie es auf den falschen Ordner richten.
rsync -avz --delete ./world/ username@VPS_IP_ADDRESS:/home/username/world/
Führen Sie denselben Befehl mit --dry-run aus, wenn Sie --delete verwenden.
Dateien oder Ordner ausschließen
Schließen Sie Protokolle, Cache-Ordner, temporäre Dateien oder generierte Dateien aus, die Sie nicht kopieren möchten:
rsync -avz --exclude "logs/" --exclude "*.tmp" ./server/ username@VPS_IP_ADDRESS:/home/username/server/
Einen benutzerdefinierten SSH-Port mit rsync verwenden
rsync übergibt SSH-Optionen durch -e:
rsync -avz -e "ssh -p 2222" ./server/ username@VPS_IP_ADDRESS:/home/username/server/
Einen SSH-Schlüssel mit rsync verwenden
rsync -avz -e "ssh -i ~/.ssh/mykey" ./server/ username@VPS_IP_ADDRESS:/home/username/server/
Vom VPS zurück auf Ihren PC kopieren
Vertauschen Sie die Quelle und das Ziel, wenn Sie einen Ordner vom VPS herunterladen:
rsync -avz username@VPS_IP_ADDRESS:/home/username/world/ ./world-backup/
Nützliche rsync-Optionen
| Option | Was es macht |
|---|---|
-a | Archivmodus. Bewahrt Ordner, Berechtigungen, Zeitstempel und Symlinks. |
-v | Ausführliche Ausgabe, damit Sie sehen können, was kopiert wird. |
-z | Komprimiert Daten während der Übertragung. Nützlich bei langsameren Verbindungen. |
--progress | Zeigt den Kopierfortschritt für große Dateien an. |
--dry-run | Zeigt, was passieren würde, ohne Dateien zu ändern. |
--delete | Löscht entfernte Dateien, die in der Quelle nicht vorhanden sind. |
--exclude | Überspringt passende Dateien oder Ordner. |
Wann welches Tool verwenden
| Tool | Am besten für |
|---|---|
scp | Einfache einmalige Datei- oder Ordnerkopien. |
rsync | Wiederholte Synchronisierungen, größere Ordner, Backups, Ausschlüsse, Trockendurchläufe und das Kopieren nur geänderter Dateien. |
Stoppen Sie den Spielserver, bevor Sie Live-Weltdaten, Datenbankdateien oder Speicherstände ersetzen. Machen Sie zuerst ein Backup, wenn Sie --delete verwenden oder eine bestehende Welt überschreiben.
