2015-11-08 6 views
6

Ich muss rund 4,2 GB Dateien von meinem local computer zu einem server B übertragen. Um jedoch in Server B ssh, muss ich ssh in server A.Datei mit rsync über mehrere Ebenen von SSH kopieren

Momentan kopiere ich Dateien von meinem local computer zu Server A und dann von server A zu server B.

So geht der Ablauf wie folgt aus:

rsync -avz --del ~/Desktop/abc/ <my-user-name>@<server-A>:~/abc

rsync -avz --del ~/Desktop/abc/ <my-user-name>@<server-B>:~/abc

Dies ist langsam und Kopien 4.2 GB Daten zweimal statt von einem!

Kann ich Dateien mit rsync von meinem lokalen Computer direkt an server B übertragen?

+0

"kopiert 4,2 g Daten zweimal statt einer!" Nun, da Sie durch Server A routen, werden Sie immer Daten "zweimal" übertragen, einmal von lokal zu Server A, einmal von Server A zu Server B (ob sie simultan sein können, ist eine andere Frage). Das ist nur die Art des Routings. – 4ae1e1

Antwort

6

Sie können immer ssh mit Proxy-Befehl verwenden, mit dem Sie Dateien transparent übertragen können. Mit dieser Konfiguration (~/.ssh/config):

Host <server-A> 
    User <user-A> 

Host <server-B> 
    User <user-B> 
    ProxyCommand ssh <server-A> -W %h:%p 

Sie Ihre rsync anrufen:

rsync -avz --del ~/Desktop/abc/ <server-B>:~/abc 

Die Daten nur "geroutet" über die Mitte Gastgeber sein wird.