速度が特定のしきい値を下回った場合にwgetをダウンロードを再試行する方法は?


13

wgetを使用して2GBの大きなファイルをダウンロードしようとしていますが、数分後に停止し続けるようです。

^ Cを実行し、[ --continueオプション付き] で再度取得すると、ダウンロードが再開されます。

ダウンロードの停止時にダウンロードの再試行を自動化する方法はありますか?ありがとう

回答:


20

--triesオプションを使用できます。

   --tries=number
       Set number of retries to number.  Specify 0 or inf for infinite
       retrying.  The default is to retry 20 times, with the exception of
       fatal errors like "connection refused" or "not found" (404), which
       are not retried.

だから、--tries=0トリックを行う必要があります。

それも合わせて--read-timeout=seconds秒はアイドル時間を指す:、ダウンロードの任意の時点で、データが指定した秒数以上を受信されない場合、読み取りに失敗し、ダウンロードが再開されます。

最後のコマンド:

wget -c --tries=0 --read-timeout=20 [URL]


1
問題は、wgetが終了しないことです。0KB / sで「ダウンロード」し続けるだけです。.:(
Matt

8
OK。おそらく--read-timeout=seconds代わりに使用できます。このタイムアウトの「時間」はアイドル時間を指します。ダウンロードのいずれかの時点で、指定された秒数を超えてデータが受信されない場合、読み取りは失敗し、ダウンロードが再開されます。このオプションは、ダウンロード全体の期間に直接影響しません。もちろん、リモートサーバーは、このオプションが必要とするよりも早く接続を終了することを選択する場合があります。デフォルトの読み取りタイムアウトは900秒です。
パブロズビエタ

はい!それだ!wgetマニュアル[ほとんど/すべて]を読んだときに、ずっと前に読んでいたに違いないのですが、戻って見つけられませんでした。
マット

これには--continueも含まれるべきではありませんか?
sfyn 14

@sfyn:はい、-c答えに追加したので、何かが失敗した場合は、中断したところから再開できます。ありがとう。
パブロズビエタ

0

Wgetは、失敗後15分間ダウンロードを継続しようとします。あなたが一晩それを離れるなら、それはただ動くはずです。

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