web-dev-qa-db-ja.com

ssh / scpを介して1つのステップでtarおよびダウンロード

(これは明らかな/よくある質問のようですが、検索時に見つけることができませんでした-おそらく、正しい用語を使用していませんでした...)

Sshを介してリモートマシンにログインし、ディレクトリをtarし、ローカルマシンにダウンロードしたいと考えています。リモートサーバーにコピーを残す必要はありません。現在私はsshでログインし、tarアーカイブを作成し、ログアウトし、ファイルを自分のマシンにscpします。sshはアーカイブを削除するために再度ログインします。正確ではない...

これが機能しないことはわかっていますが、次のようなことを考えています。

scp user@remote:"tar czf - /my/directory/" ./my/local/destination/archive.tgz

それとももっと良い方法がありますか?

ありがとう。

9
phil

説明に従うと、コマンドは「明白」になります(少なくとも、それを見ると...)。しかし、あなたの試みはそれほど遠くありませんでした:

ssh user@remote tar czf - /my/directory/ > /my/local/destination/archive.tgz

(マルコによって引用された " duplicate "リンクは、より明確なソリューションを提供します。ここでこのコマンドを作成するために、私は単にあなたの試みのスタイルに従いました。)

16
roaima