SSH経由でファイルを転送する


9

一部のスクリプトでSSH経由のファイル転送を使用したい。sshでtarすることは可能だと私は読んだ。どこから読み始めればよいですか?


なぜタールを持ち出すのですか?
Zoredache

1
tarはSSH経由でファイルをコピーする最も速い方法です。scpとrsyncは、多数の小さなファイルをコピーするときに、プロトコルのオーバーヘッドが多くなります。
Justin

@Justin、もちろんtarの前提は、信頼できる接続があることです。生のパフォーマンスが問題にならない場合は、通常、scp / rsyncのようなより一般的で単純なソリューションを使用することをお勧めします。
Zoredache

1
え?ssh上のtarは、scpまたはrsyncよりも悪くありません。rsyncの方が優れているのは、再開できることだけです。接続が信頼できない場合でも、まずssh経由でtarを試し、次にrsyncで転送を完了することはおそらく価値があります。
ジャスティン

@ジャスティン、それはかなり複雑なスクリプトになります。おそらく、もう少し基本的なことから始めるべきでしょう。
ジョンガーデニアス

回答:


23

SSH経由でファイル転送を行うには、次のことができます

  • scpを使用する
    • scp -r /srcdir/ user@remotehost:/destdir/
  • sshでrsyncを使用します(-eパラメータを参照)
    • rsync -e ssh -a /srcdir/ user@remotehost:/destdir/
  • stdin / outを介してデータを転送するツール(tarcpioなど)を使用する
    • cd /sourcedir; tar -c . | ssh username@remotehost bash 'cd /dstdir; tar -x
  • sshfsを介してファイルシステムをマウントします(システムでfuseがサポートされている場合)。

私は定期的に3つすべてを使用しています。どちらを使用するかは状況によって異なります。
reinierpost 2010年

3

O'Reillyには、SSH、The Secure Shell:The Definitive Guideのすべてが掲載された本があります。Googleなら、多くの参考文献、購入できる場所、オンラインで閲覧できます。


あなたが反対票を投じたときにお奨めしますが、理由を知らせるコメントはありません。彼はどこから読み始めるかを尋ねました-これはオンラインで、書店で入手できます。sshの優れたリファレンスです。
Kevin K

これも間違っていると思います。質問に実際に回答し、承認された回答(これまでに15回投票された)を前提に、なぜ投票が2回拒否されたのですか(sshを介してファイルをコピーする一般的な方法)。状況を改善するために投票します。彼らがあなたを男から降りさせてはいけません。
Richard Holloway 2010年


0

ssh上のtarの場合、sshがstdinとstdoutを転送するという事実を使用できます。だからできる

ssh server 'tar czf - /some/dir/' > tarfile.tar.gz

ローカルコンピュータにバックアップを作成します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.