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
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).
rsync
kümmert sich um die Verwaltung der SSH-Verbindung für Sie. Die avz
(typischen) Optionen erfordern die rsync
Verwendung des Archivierungsmodus (tar), um rekursiv zu kopieren und so viele Datums- und Benutzerwerte wie möglich beizubehalten. Die v
Option ist ausführlich , um Ihnen zu zeigen, was gerade passiert. Die z
Option 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/
Sie suchen eine Teerpfeife .
quelle
Ich habe in einer anderen Frage eine gut funktionierende Antwort geschrieben. Es verwendet SSH-Agent zum Verschieben eines MySQL-Dumps: Der schnellste Weg, um mehrere Datenbanken auf einen neuen Server zu verschieben
Kombinieren Sie dies mit der Antwort von jscott
quelle