我有一个包含 2.5 TB 数据的硬盘。我想将这些文件复制到具有足够空间的云服务器。但是,只能通过中间服务器访问此云服务器,而中间服务器没有足够的空间来复制这些数据并将其传输到云中。
我知道我可以使用 ssh 隧道来执行此操作,但我没有执行此操作的管理权限。我还希望使用 rsync 复制文件以执行校验和,然后进行传输。有没有办法做到这一点,而不必对数据进行分段然后进行传输?
答案1
这可以通过中间 SSH 服务器(OpenSSH 7.1 或更高版本)实现
rsync -acz -e "ssh -o "ProxyJump <user>@<desthost>" intermediate:/path/remote /path/local
或者如果没有,你可以尝试 ProxyCommand
rsync -acz -e "ssh -o "ProxyCommand ssh <ssh opts>" intermediate:/path/remote /path/local
这可以通过创建 $HOME/.ssh/config 条目来简化和测试。
Host intermediate
ProxyCommand ssh <desthost>
Or:-
Host intermeiate
ProxyJump <desthost>
因此更简单的命令是:-
rsync -azv intermediate:/path/remote /path/local