TarコマンドとPIPE

TarコマンドとPIPE

私が欲しいとしましょう:

サーバーAのディレクトリからtarballを作成する

このタールボールをサーバー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 

パイプを使用してパスが重複するのを避けたい。 2番目のパラメータを取得するには、PIPEを使用して正しく作成するにはどうすればよいですか?

ありがとう

ベストアンサー1

ディレクトリを圧縮してリモートサーバーにコピーしてからそこから解凍しますか?まあscp -r directory ...rsync -r directory ...それともsftpはるかに優れています。

tarファイルをリモートサーバーにコピーして抽出するには、次のようにします。

tar -cf - mydir | ssh [email protected] 'bash -c "tee archive.tar | tar -xf -"'

ここで重要なのは、teetarファイルのコピーをリモートファイルシステムに配置し、tarファイルをtarコマンドに渡して解凍することです。

おそらくあまり複雑ではない解決策は、rsynctarファイルを生成できるリモートサーバーにディレクトリを転送することです。

おすすめ記事