我经常传输大型目录scp
,如果我能以某种方式压缩目录、发送它并将其全部解压缩,那就太好了。
这样的事可能吗?
答案1
rsync
那么,如果-z
启用压缩选项,该如何使用呢?
rsync -az --progress source_dir/* remote_host:/destination_dir
这还有一个额外的好处,如果文件已经存在并且在目标上没有改变,它将不会被传输。
答案2
感谢@johnshen64的回答,我能够想出一些非常好的东西
tar -zc path/to/source | ssh user@remote tar -zxC path/to/destination
不幸的是,这不会显示传输进度。我注意到使用此方法可以实现惊人的速度提升。
如果有人知道如何显示此类转移的进度,我将非常感谢您的帮助:)
答案3
嗯,我会用 tar
tar cf - 目录 | ssh 服务器‘tar xf -’
您可以添加 v 来验证。
zip 应该是相同的,但是在我看来,tar 对于 Linux 来说更为强大。