我需要将4.2 GB的文件从local computer
到server B
但是ssh进入服务器B,我需要SSH入server A
目前,我正在将文件从local computer
复制到服务器A,然后从server A
复制到server B
所以stream程是这样的:
rsync -avz --del ~/Desktop/abc/ <my-user-name>@<server-A>:~/abc
rsync -avz --del ~/Desktop/abc/ <my-user-name>@<server-B>:~/abc
这是慢的,并且复制4.2 gb的数据而不是一个!
我可以通过rsync
从本地计算机传输文件到server B
吗?
你总是可以使用ssh
与代理命令,它允许你透明地传输文件。 使用这个配置(〜/ .ssh / config):
Host <server-A> User <user-A> Host <server-B> User <user-B> ProxyCommand ssh <server-A> -W %h:%p
你可以调用你的rsync:
rsync -avz --del ~/Desktop/abc/ <server-B>:~/abc
数据将只在中间主机上“路由”。
你想要的是使用端口转发将服务器B的ssh / rsync端口(通常是端口22) 转发到服务器A上的备用端口,因此当您调用rsync -e "ssh -p altport" serverA:/sourcedir /destdir
,你实际上是从serverB
调用rsync。
在StackExchange和其他网站上有很多好的howtos。 例如:
会让你开始。 使用端口转发,你基本上使用serverA作为传递主机,所以你只需要转移你的4.2G一次。