使用中间/传输服务器下载数据

ps5*_*460 3 linux data-transfer

我需要通过源和目标之间的中间服务器下载 500TB 的文件和文件夹。然而,中间只有 10TB 的可用空间可供使用。源和目标仅具有 rsync、scp 和 bbcp 可用。如果需要,可以下载并执行二进制文件。中间版本更灵活,也可以从包存储库安装。但命令只能从目的地发出,因为它位于 VPN 后面。最后,主机和目标具有 redhat enterprise linux,而中间具有 ubuntu 18.04。无需复杂的脚本即可自动完成此下载的最简单且最有效的方法是什么?

ahi*_*324 9

scp -J(等效scp -o ProxyJump)允许通过中间/代理主机(可以指定多个)从/到远程服务器进行 SCP。

举个例子:

scp -J ${proxy_user}@${proxy_host} \
    ${remote_user}@${remote_host}:${remote_path} .
Run Code Online (Sandbox Code Playgroud)

22或者,如果使用非标准 SSH 端口(即 not ):

scp -J ${proxy_user}@${proxy_host}:${proxy_port} \
    -P ${remote_port} \
    ${remote_user}@${remote_host}:${remote_path} .
Run Code Online (Sandbox Code Playgroud)

  • 这种方法也可以与“rsync”一起使用。其语法类似于 `rsync -e "ssh -J ${proxy_user}@${proxy_host}" ${remote_user}@${remote_host}:${remote_path}`。考虑到传输的大小,我可能倾向于使用 rsync 而不仅仅是 SCP,因为这样可以恢复传输。 (7认同)
  • @ps5460 当将跳转主机与任何 SSH 工具一起使用时,跳转主机仅路由流量(并可能记录流量)。 IOW,这就像通过透明代理连接到 Web 服务器,该代理不进行缓存,也不在本地存储任何内容。 (2认同)