web-dev-qa-db-ja.com

大きなファイルをチャンクでダウンロードする方法

ローカルハードドライブにファイル用の十分なスペースがないため、40GBのファイルをダウンロードしてUSBフラッシュドライブに直接保存しようとしています。

また、インターネット接続での1日あたりのダウンロードは10 GBに制限されており、USBはFAT32でフォーマットされているため、4GBを超えるファイルを処理できません。

このファイルの4GBのチャンクを毎日ダウンロードし、すべてダウンロードされたらそれらをつなぎ合わせる方法はありますか?

私はWindows10を使用しており、KaliLinuxライブUSBキーも持っています。

5
aidn

ダウンロード元のサイトが再開されたダウンロードをサポートしている場合は、curl--continue-atオプションとともに使用するか、wget--start-posオプションとともに使用できます。

curlには--max-filesizeオプションがありますが、ファイルのダウンロードを拒否するだけです。

したがって、ファイルが十分に大きいときにダウンロードを中断するか、pvなどの追加プログラムを使用できます(おそらくこのパッケージをインストールする必要があります)。

例:「10進数」のGBが安全側にあると仮定すると、4 GB = 4000000000なので、たとえば、.

curl --continue-at 8000000000 http://your/file/url | pv -S --size 4000000000 > your-file-name

3番目のチャンクをダウンロードします。 (curlが大きな数を正しく処理することを願っています。小さな数でのみチェックしました)。

どちらも標準のLinuxプログラムですが、Windowsでも利用できるかどうかはわかりません。

4
dirkt