Tar

Tar 命令和 PIPE

  • February 21, 2021

假設我想:

從伺服器 A 上的目錄創建一個 tar 球

將此壓縮包 scp 到伺服器 B

在伺服器 B 中解壓

ssh root@serverB   " scp  root@serverA:/var/www/dirs.tar.gz  /var/www/dirs.tar.gz && tar -xvf  /var/www/dirs.tar.gz 

我想避免使用管道重複路徑。如何用 PIPE 正確編寫它以獲得第二個參數?

謝謝

只是解壓一個目錄,將其複製到遠端伺服器,在那裡解壓?那麼scp -r directory ...rsync -r directory ...還是sftp要好很多。

如果要將 tar 文件複製到遠端伺服器並解壓縮,請嘗試

tar -cf - mydir | ssh root@192.168.1.248 'bash -c "tee archive.tar | tar -xf -"'

這裡tee的關鍵是:它將 tar 文件的副本放入遠端文件系統,並將 tar 文件傳遞給 tar 命令,該命令將其解包。

也許一個不那麼複雜的解決方案是簡單地rsync指向遠端伺服器的目錄,從中創建一個 tar 文件。

引用自:https://unix.stackexchange.com/questions/635472