Tar
Tar 命令和 PIPE
假設我想:
從伺服器 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 文件。