Ich habe einen Fall, bei dem ich Daten von einem alten Server verschieben muss:host1auf einen neuen Server:host2. Das Problem ist, dass Host1 Host2 nicht sehen kann, aber ich kann einen anderen Server verwenden (lokaler Host), um per SSH sowohl auf Host1 als auch auf Host2 zuzugreifen.
Stellen Sie sich vor, es sollte so funktionieren:Host1 -> lokaler Host -> Host2
Wie kann ich mit rsync Dateien zwischen Host1 und Host2 kopieren? Ich habe diesen Befehl auf dem lokalen Server ausprobiert, aber es heißtQuelle und Ziel können nicht beide remote sein.
rsync -avz host1:/workspace host2:/rasv1/old_code-de
Antwort1
Ich landete bei der Lösung vonhttps://unix.stackexchange.com/users/312074/eblock
mit
scp -3 host1 host2
Antwort2
Sie können Tunneling verwenden, um Rsync mithilfe von SSH umzuleiten.
Melden Sie sich zu Beginn als Benutzer@Host1 an und erstellen Sie den Tunnel zu Host2 über Ihren „localhost“ (um Verwirrung zu vermeiden, nennen wir ihn „Ihren_Host“):
ssh <your_host_user>@<your_host> -L 8080:<host2_ip>:22
Lassen Sie das Terminal geöffnet und geben Sie dann auf einem anderen Terminal von Host1 Folgendes ein:
rsync -avzh -e "ssh -p 8080" <source_file> <host2_user>@127.0.0.1:/<target_folder>
Natürlich können Sie anstelle von 8080 auch jeden anderen Port verwenden. Ich denke, dass die Verwendung einer anderen Methode ohne SSH möglich ist, habe es aber nicht getestet.
Antwort3
Soweit mir bekannt ist, unterstützt rsync das Kopieren von einem Remote-Server zu einem Remote-Server nicht.
Wenn Sie nur eine einfache Dateikopie benötigen, können Sie einfach die Option verwenden, scp
wie -3
von @eblock angegeben
Wenn Sie rsync benötigen, können Sie beide Server in einem lokalen Ordner mounten mitsshfs
sshfs user@server1:/path/on/server1 /local/path1
sshfs user@server2:/path/on/server2 /local/path2
Und dann Dateien zwischen lokalen Ordnern kopieren:
rsync -av /local/path1 /local/path2
So trennen Sie die Bereitstellung:
fusermount -u /local/path1
fusermount -u /local/path2
Allerdings bin ich mir hinsichtlich der Geschwindigkeit/Leistung nicht sicher sshfs
.