从Linux服务器压缩和stream文件

我有一个Linux服务器有很多未使用的文件,但它的磁盘空间不足。 我想在删除文件之前先取得这些文件的副本。 下载前没有足够的磁盘空间来存储压缩版本。

我试过scp -C hostname:/path . 这是压缩stream文件,但有很多小文件需要很长时间才能复制下来。

另一个线程提示了一个类似于ssh 10.0.0.4 "cat /tmp/backup.sql | gzip -c1" | gunzip -c > backup.sql的命令ssh 10.0.0.4 "cat /tmp/backup.sql | gzip -c1" | gunzip -c > backup.sql ssh 10.0.0.4 "cat /tmp/backup.sql | gzip -c1" | gunzip -c > backup.sql但只适用于一个文件。

还有其他方法可以实现吗?

怎么样

 tar cf - /source | ssh 10.0.0.4 "gzip > /destination/foo.tgz" 

但是涉及许多小文件的任何事情都需要花费一些时间,而且如果它们处于浅层目录结构中, 这只是野兽的本质。