远程压缩服务器文件夹和文件,并将其复制到我的本地驱动器

我有一个使用ssh和plesk进行访问的linux专用服务器。 我没有足够的空间在我的服务器上,我可以压缩我的所有文件夹和文件,然后scp他们在我的本地计算机上。

有没有一个bash命令可以直接压缩本地驱动器上的远程文件?

如果您的“本地驱动器”是一个Linux客户端,那么您可以使用远程tar命令将输出打印到stdout(默认情况下,显式选项指定为“-f – ”),并将其传送到本地tar从标准input(显式选项“-f – ”再次)像这样:

ssh your.dedicated.server 'tar -czf - /my/files/to/back/up' | tar -xzf - 

当使用“-z”选项时,Tar将使用gzip的默认压缩级别(6)压缩数据。 如果你想要一个更好的压缩率,并有CPU周期,你可以使用“-j”,但如果它是一个旧的/虚拟机与一个快速链接,你可能会最终整体较低的传输速率。

哦,作为一个编辑:你可以指定-C(压缩)选项与SCP,这也将使用gzip作为压缩algorithm,虽然压缩率通常会比tar / gzip组合略低。 这是less打字,你会得到漂亮的进度指标作为奖金。

我不完全确定你的问题是什么。 你能多解释一下吗?

无论如何,看到-r和-C选项到scp。 这允许您recursion地复制一个文件树并将其压缩在电线上。 之后,您可以随时在本地机器上压缩。

如果你真的想压缩它,至less用焦油它的作品

ssh yourserver'tar cvzf – / path'> local.tar.gz

我不确定是否有一个命令可以运行,以便在传输过程中将数据压缩到本地计算机,但是不能只是将一些事情解压缩到足够的位置,然后删除原始文件远程机器,然后拉链rest,并发送它们? 那么你可以把它们解压到你的本地机器上,把它们放在一起,然后重新压缩它们呢?

对不起,希望我了解你正在努力完成什么。