Wie verschiebe ich ein Verzeichnis von einem Server auf einen anderen?

10

Ich habe SSH-Zugriff auf beide Server, einer davon ist leer. Wie kann ich das Site-Verzeichnis über eine SSH-Verbindung vom alten Server auf den neuen Server verschieben?

PS: Auf beiden Servern ist Unix

Ajile
quelle

Antworten:

15

Mein Favorit ist rsync. Es ist intelligent genug, nur das zu kopieren, was kopiert werden muss (dh geändert oder neu).

rsync -avz /source/path user@desthost:/destination/path/

Beachten Sie das Finale /am Ende, um rsync zu bitten, in diesen Pfad zu kopieren (nicht darüber).
rsynckümmert sich um die Verwaltung der SSH-Verbindung für Sie. Die avz(typischen) Optionen erfordern die rsyncVerwendung des Archivierungsmodus (tar), um rekursiv zu kopieren und so viele Datums- und Benutzerwerte wie möglich beizubehalten. Die vOption ist ausführlich , um Ihnen zu zeigen, was gerade passiert. Die zOption komprimiert (komprimiert) die Übertragung, um hoffentlich Zeit und Bandbreite zu sparen.

rsync ist sehr leistungsfähig und wird von den meisten Fachleuten verwendet. Sie können es jedoch zuerst mit nicht wertvollen Daten testen, um sicherzustellen, dass der Pfad und die Optionen den Anforderungen entsprechen.

Wenn Sie rsync über SSH an einem nicht standardmäßigen Port wie 2222 verwenden müssen, können Sie den folgenden Befehl verwenden ( siehe diesen Artikel ):

rsync -avz -e 'ssh -p 2222' /source/path user@desthost:/destination/path/
Ring Ø
quelle
Ich denke, rsync ist eine bessere Lösung als ssh aus dem Grund, den ring0 angegeben hat, dh es kopiert nur das, was kopiert werden muss. Wenn Sie dies also mehr als einmal tun müssen, bietet Ihnen rsync einen Vorteil gegenüber Straight SCP.
Jason Tan
1
rsync ist definitiv das Werkzeug. Aber zum abschließenden Schrägstrich: Dies ist wichtig für die Quelle und nicht für das Ziel: rsync -a / src / / dest kopiert alles unter src in dest, rsync -a / src / dest kopiert src und alles darunter in dest / src / .
Oscar
0

Sie suchen eine Teerpfeife .

Ignacio Vazquez-Abrams
quelle