回答:
sshコマンドで実行できます。tar
標準出力でアーカイブを作成するように指示するだけです:
ssh remote.example.com 'cd /path/to/directory && tar -cf - foo | gzip -9' >foo.tgz
他のマシンで多くのファイル操作を行いたいが、ワンショットアーカイブの作成には過剰な場合に便利な別のアプローチは、リモートマシンのファイルシステムをSSHFS(FUSEファイルシステム)でマウントすることです。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
tar -cf - foo
(-c
)にアーカイブを作成-f -
しますfoo
。gzip -9
最高の(最も遅い)圧縮方法を使用します。気にしない場合は、を使用できますssh remote.example.com tar cz /path/to/directory/foo > foo.tar.gz
。
トランスポート専用に圧縮してディレクトリまたはファイルをコピーする簡単な方法:
$ ssh domain.net 'ls foo'
file1 file2
$ ssh domain.net 'tar czf - foo' | tar xz
$ ls foo
file1 file2
tar
アーカイブをローカルマシンに保存しません。これは意図されたものです。
tar xz
より単純で読みやすい例で、パイプからこの追加があります。
tar -cf - foo | gzip -9
代わりにあなたがお勧めしますtar -czf - foo
かtar -cz foo
?