我想通过 tar 进行 scp pull 操作(下面没有 tar 的示例),以便只为大约 10 个目录写入一个 tar 文件:
user@localhost:/home/user> scp -r remoteuser@remotehost:dir_to_transfer ./
Run Code Online (Sandbox Code Playgroud)
我在远程机器上有目录,每个目录有大约 10,000 个小(~28k)文件要传输。由于文件配额,我没有太多可用空间在远程主机(remotehost)上运行 tar 命令。由于防火墙规则,我只能从我的本地机器(本地主机)启动传输。
绝对数量的文件使传输时间很长。
我已经找到了在“推送”数据时如何执行此操作的示例,但想知道在“拉”数据时如何执行此操作。
本地机器信息:
操作系统:OpenSuSe 13.2(x86_64)
重击 4.2.53(1)
OpenSSH_6.6.1p1、OpenSSL 1.0.1k-fips 2015 年 1 月 8 日
远程机器信息:
尝试从 user@localhost
> ssh -l remoteuser remotehost "tar cf - dir_to_transfert" > remote.tar
Run Code Online (Sandbox Code Playgroud)
在哪里
>
是提示ssh -l remoteuser remotehost
将您连接到远程主机"tar cf - dir_to_transfert"
对标准输出执行远程tarin> remote.tar
将 ssh 的输出重定向到本地文件名 remote.tar如果您被允许在远程主机上使用 tar,这将起作用。