
リモートのLinux Ubuntuサーバーに約35GBのファイルがあります。ローカルではWindows XPを実行しているので、SSHを使用してリモートのLinuxサーバーに接続しています(具体的には、Windowsプログラムを使用しています)。SSH セキュア シェル クライアントバージョン 3.3.2)。
ブロードバンド インターネット接続はかなり良好ですが、大きなファイルのダウンロードはConnection Lost
エラー メッセージとともに失敗することがよくあります。確信はありませんが、おそらくインターネット接続が数時間ごとに 1 ~ 2 秒切断されるため、失敗するのではないかと思います。ファイルが非常に大きいため、ダウンロードには 4.5 ~ 5 時間かかることがあり、その間にインターネット接続が 1 ~ 2 秒切断される可能性があります。同じインターネット接続と同じ SSH ソフトウェアを同じコンピューターで使用して、このサイズのファイルを正常にダウンロードしたことがあるため、そう考えます。言い換えると、時には運が良ければ、インターネット接続が 1 秒切断される前にダウンロードが完了することもあります。
インターネット接続が切断された場合に、オペレーティング システムまたはソフトウェアが中断した場所を「認識」し、最後のポイントから再開できるようなインテリジェントな方法でファイルをダウンロードする方法はありますか?
ファイルをセクションごとにダウンロードすることは可能でしょうか? ファイルを複数のファイルに簡単に分割できるかどうかはわかりませんが、ファイルはバイナリであり、人間が判読できないため、これは非常に難しいと思います。
現状では、接続が切断される前に約 35 GB のファイル全体のダウンロードが完了しない場合は、ダウンロードを最初からやり直し、これまでローカルにダウンロードされた約 5~20 GB のチャンクを上書きする必要があります。
何かアドバイスはありますか? よろしくお願いします。
答え1
私の「適切な」解決策は、問題の原因を見つけて修正することですが、回避策として次のことが機能する可能性があります。
- split を使用します ( man split -- ファイルを分割します)。ほとんどの UNIX システムにインストールされているようです。
- dd でファイルを分割します (dd if=inputfilename of=file_part0 skip=0 bs=500MB)。(skip=1 と別のファイル名で繰り返します。)
- ダウンロードを再開できるプログラムを使用してください。FTP は機能します (ただし、プレーン テキストのパスワード、制御とデータ接続の分離は、ほとんどのファイアウォールとうまく連携しません)
- チートしてファイルをWebディレクトリに移動します。ほとんどのブラウザはダウンロードの再開をサポートしています。
答え2
rsync --partial
Windows 上の Cygwin で使用しました。非常にうまく動作します。
答え3
のビットトレントプロトコルセットアップが最も簡単ではないかもしれませんが、このタスクをうまく処理できます。
答え4
あなたは出来るスプリットファイルを小さなチャンクに分割し、反対側でそれらを再構成します。または、FTP または HTTP デーモンが実行中の場合は、デーモンを介してダウンロードを実行できるはずです。どちらも通常、ダウンロードの再開をサポートしています。