Tar 并通过 ssh / scp 一步下载

phi*_*hil 11 ssh scp tar download

(这似乎是一个明显/常见的问题,但我在搜索时找不到它 - 也许我没有使用正确的术语......)

我想通过 ssh 登录到远程机器,tar 一个目录,然后将它下载到我的本地机器上。我不需要在远程服务器上留下副本。目前我 ssh 进入,创建 tar 存档,注销,将文件 scp 到我的机器,ssh 返回以删除存档。效率不高...

我知道这行不通,但我在想:

scp user@remote:"tar czf - /my/directory/" ./my/local/destination/archive.tgz
Run Code Online (Sandbox Code Playgroud)

或者,还有更好的方法?

谢谢。

roa*_*ima 19

如果您按照您的描述进行操作,该命令将变得“显而易见”(至少,当您看到它时...)。不过,您的尝试确实离您不远:

ssh user@remote tar czf - /my/directory/ > /my/local/destination/archive.tgz
Run Code Online (Sandbox Code Playgroud)

(Marco 引用的“重复”链接提供了一个更清晰的解决方案。要在此处创建此命令,我只是按照您的尝试风格进行操作。)