非常に不安定なインターネット接続を介してファイルをコピーするには?
時には接続が切断され、時にはあるコンピュータまたは別のコンピュータのIPが変更され、時には両方が変わりますが、動的DNSはそれをキャッチします。
どのツールやコマンドをお勧めしますか?
違いをコピーするだけでもかなり良いと聞きましたrsync
。しかし、これは、再起動、しばらく時間をかけたり、cronjobを実行するなど、多くの作業を意味します。
もっとシンプルで確実なものがあればいいです。
付録:
これには、あるサイトから別のサイトに5 GBを超えるいくつかの非常に大きなファイルを含む複数のディレクトリをコピーすることが含まれます。コピーすると、両方ともローカルに別の場所に移動されます。
私はネットワークレベルでは何もできず、そうする知識もありません。
wgetを使用するためにWebサーバーを設定したくありません。これは安全ではなく、バイパスパスのように見えます。
SSH接続を確立し、rsyncが両方のシステムにすでにインストールされているので、rsyncを実行できます(rsyncデーモンを操作および実行できません)。
私がどのように作ることができるかについてのアドバイスSSHによるスマートrsyncそれでは、一時的に回線が切れたら継続しようとしますか?ただし、SSH接続が失われた場合、rsyncは問題になりません。だからこんなこと(https://serverfault.com/questions/98745/)動作しない場合があります:
while ! rsync -a .... ; do sleep 5 ; done
どんなアイデアがありますか?
ありがとうございます!
ゲイリー
ベストアンサー1
さて、私の場合は解決策を見つけました。私は実際に提案を使用していますwhileループ。これで、次のようになります。
while ! \
rsync -aiizP --append --stats . -e ssh [email protected]:./path/rfiles ; \
do now=$(date +"%T") ; echo · Error at $now · ; sleep 5 ; done
whileループがない場合は、rsyncを手動で再起動する必要があります。今それは魅力のように動作します。
面白い事実:接続が切断されてから10分後にエラーが発生し、接続が再開され、約9分後にエラーが発生します!その間、ターミナルウィンドウでは何も起こりません。 10分という時間制限がどこから出るのか気になります。
助けてくれてありがとう。
ゲイリー
注:以下は私が受け取ったタイムアウトエラーです(10分後)。
...
thedirectory/afile.ext
Read from remote host myhost.com: Operation timed out
rsync: writefd_unbuffered failed to write 16385 bytes [sender]: Broken pipe (32)
rsync: connection unexpectedly closed (394 bytes received so far) [sender]
rsync error: unexplained error (code 255) at /SourceCache/rsync/rsync-40/rsync/io.c(452) [sender=2.6.9]