如何gzip一个目录,通过scp传输,并在一个命令中解压?

mac*_*cek 11 rsync command-line scp gzip

我经常传输大型目录,scp如果我能以某种方式压缩目录、发送它并将其全部解压缩,那将会很美妙。

这样的事情可能吗?

小智 30

使用启用压缩rsync-z选项如何?

rsync -az --progress source_dir/* remote_host:/destination_dir
Run Code Online (Sandbox Code Playgroud)

这还有一个额外的好处,即如果文件已经存在并且在目标上没有更改,则不会传输它。


mac*_*cek 7

感谢@johnshen64 的回答,我能够想出一些非常好的东西

tar -zc path/to/source | ssh user@remote tar -zxC path/to/destination
Run Code Online (Sandbox Code Playgroud)

不幸的是,这在传输时没有显示进度。我注意到使用这种方法的速度有惊人的提升。

如果有人知道如何显示这样的转移进度,我将非常感谢您的帮助:)