如何用一個指令對目錄進行 gzip、透過 scp 傳輸並解壓縮?

如何用一個指令對目錄進行 gzip、透過 scp 傳輸並解壓縮?

我經常傳輸大型目錄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 來說更強大。

相關內容