一定の割合で完了したら追加してダウンロードする

一定の割合で完了したら追加してダウンロードする

私はいつも、wget -cダウンロードの最後の位置から必要なときにいつでも追加してダウンロードできるようにするファイルをダウンロードするために使用します。

ファイルがダウンロードされます30%。その後、ネットワークが占有された後、ファイルの末尾にジャンクが追加され始め、 まで到達しました40%。(ジャンクは、 の後にゴミデータを提供するというファイル サーバーのロジックにより追加されました30mins)。

今、同じファイルに対して次に使用できる新しいトークンを持つ新しい URL の場所を取得しました30mins。同じファイルのダウンロードを続行するにはどうすればよいでしょうか30%?

それとも、それを実行するアプリケーションはありますか?

元:

$ wget -c http://xyz.com/file.txt?token=1

30% [=============>                                 ]
40% [=================>                             ] (10%junk added)

^C - cancelled

$ wget -c http://xyz.com/file.txt?token=2 --from='30%'

31% [+++++++++++++=>                               ]

注:-は、 --from='30%'実行できる場合の例にすぎません。そのような議論は存在しませんwget

答え1

wget -c / --continue常に指定されたファイルサイズで続行されますが、変更することもできます。

を使用してtruncate、ファイルを元の30%サイズに戻します (サイズはバイトまたはキロバイトで指定する必要があります)。または、 を使用するhead -c SIZE file > file_30pcと、元のファイルには影響しません (ただし、名前を変更する必要があります)。

-O output-fileBlueManCZ が示唆したように、同じファイルであることを確認するためにを使用することをお勧めします。

注記:最後の良い位置を指定するため--start-posに の代わりにを使用すると、-c/--continueない代わりに、その位置以降に新しいファイルが作成され、既存のファイルが追加されることはありません ( を指定した場合も上書きされます-O)。

答え2

別の URL から同じファイル (または名前を変更したファイル) のダウンロードを続行する必要がある場合は、コマンドでファイル名を指定する必要があります。

wget -c -O myfilename https://examle.net/file1.txt

[will be stoped in 30%]

wget -c -O myfilename https://another_url.net/file2.txt

[will start on 30% of previous file]
[file1.txt and file2.txt must be same]

しかし、それがあなたの問題に対する正確な答えであるかどうかはわかりません。

答え3

aria2と呼ばれる別の素晴らしいLinuxツールを試してみることができます。ダウンロードを再開するには、次の手順に従ってください。

aria2c -c -m 0 -o "myfile.zip" "http://example.com/file.zip"

ここで-cは前回のダウンロードを続行することを指示します-mはダウンロードを無限回再試行することを指示します-oは出力ファイルを指示します

ぜひ試してみてください。aria2はLinux用の最高のダウンローダーの1つです。

関連情報