不安定なSSH接続を介してファイルを転送する


23

多くの場合、切断されたSSH接続(ネットワーク条件が悪いため)でアップロード速度が遅い(200kb / s)で、いくつかの大きなファイル(約10GB)をアップロードしようとしています。

を使用しようとしていますがscp、SSHを介した最良の方法があれば、それで問題ありません。

それを行う最善の方法は何ですか?

を使用していくつかの部分に分割しようとしましsplitたが、転送の前後に多くの手作業が必要になるため、実際には効率的ではありません。


2
rsync 優れている。再起動可能です。つまり、接続が切断されても中断したところから続行できます。おそらく--partialフラグを使用する必要があります。そしてデフォルトでは、sshで実行されます。7zのようなアグレッシブな圧縮プログラムと組み合わせることができますが、十分なメモリが必要であり、まだ時間がかかります。
Faheem Mitha

--partialで試してみましたが、それは星に過ぎません...
–blue112

「スターオーバー」?やり直すという意味ですか?これらは私が使用するフラグですrsync -abvz --partial。セッションの例を見せてもらえますか?
ファヒムミタ

@FaheemMitha私はそれを再現しようとしましたが、それは今働いているようです
...-blue112

でアップロードを再開することはできませんscp。でアップロードを再開することができrsync --partialます。でアップロードを再開することはできませんsftp。他の方向、つまりダウンロードを再開するにはrsync --partialsftp regetまたはを使用できますsftp get -a
pts

回答:


32

--partialオプションを指定してrsyncを使用する

rsync -av --partial sourcedir user@desthost:/destinationdir

--partialは、部分的に転送されたファイルを保持します。ssh接続が切断された後にrsync転送を再開すると、部分的に転送されたファイルはssh接続が失われたポイントから再開を開始し、正常に転送されたファイルは再び転送されません。

また、転送するファイルが大幅に圧縮されると思われる場合は、-zオプションを渡すことを検討してください。たとえば、繰り返されるテキストで構成されるログファイル。

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