tar / gzを使用してSSHを介してディレクトリをローカルシステムに圧縮しますか?

tar / gzを使用してSSHを介してディレクトリをローカルシステムに圧縮しますか?

デフォルトでは、リモートシステムのディレクトリをtar / gzとして指定し、リモートシステムからローカルシステムに再接続する必要なく、ローカルシステムにファイルを保存したいと思います。 SSHを介してこれを行う方法はありますか? tarファイルはリモートコンピュータに保存する必要はなく、ローカルコンピュータにのみ保存できます。可能ですか?

ベストアンサー1

tarsshコマンドを使用してこれを実行でき、標準出力にアーカイブを作成するように指示できます。

ssh remote.example.com 'cd /path/to/directory && tar -cf - foo | gzip -9' >foo.tgz

別の方法は、リモートシステムのファイルシステムをマウントすることです。これは、他のシステムで多くのファイル操作を実行したい場合に便利ですが、ワンタイムアーカイブの作成には過度の作業です。SSHFS(ㅏヒューズファイルシステム)。 SSHレベルで圧縮を有効にする必要があります。

mkdir ~/net/remote.example.com
sshfs -C remote.example.com:/ ~/net/remote.example.com
tar -czf foo.tgz -C ~/net/remote.example.com/path/to/directory foo

おすすめ記事