tarをインポートしてリモートサーバーにコピーし、tarを抽出します。

tarをインポートしてリモートサーバーにコピーし、tarを抽出します。

ログインしたシェルからtarをインポートし、そのtarファイルをリモートホストに転送し、そこからtarファイルを抽出したいと思います。次のコマンドがありますが、tar自体は生成されません。

time=`date`
timestamp=`date +%F_%H%M`
backpfilename=db${timestamp}.tar.gz

cd /home/aryan/ && tar -cvzf $backupfilename | ssh root@remoteserver 'cd /home/aryantest/ && tar -xvzf $backpfilename'

ベストアンサー1

tarファイルをディスクに書き込むことなく、反対側から直接抽出できます。

tar czv <files>| ssh root@remoteserver 'cat | tar xz -C /remotedir'

ファイルのコピーにも使用できますnetcat

進行状況バーが必要な場合はpvこれを使用できます。速度を標準出力として印刷するので、コピー速度を確認できます。

tar czv <files> | pv | ssh root@remoteserver 'cat | tar xz -C /remotedir'

tarファイルがすでに存在する場合は、pvSSHを介してパイプできます。

pv backupfile.tgz| ssh root@remoteserver 'cat | tar xz -C /remotedir'

おすすめ記事