背景:私はwgetのを使用しています
(バージョン1.14-15.el7)bashでのRedHat Linuxの(バージョン7.3(マイポ))、(バージョン4.2.46(1に)) ターミナル。待機機能が期待通りに動作しない
残念ながら、この特定のRHELイメージに限定されているため、新しいバージョンのwgetにアップグレードすることはできません。
目標:
私はダウンロードの試みが失敗した場合、それは以下のないようにwgetコマンドを設定しようとしています。)
1)ダウンロードを4回(5回の合計)
2を再試行コンテキストの場合は、ダウンロードの試み(「再試行」)
間の一定時間(30秒)待機し、ここではwgetのマニュアルの関連抜粋です:
-w seconds
--wait=seconds
Wait the specified number of seconds between the retrievals. Use of this option is
recommended, as it lightens the server load by making the requests less frequent.
Instead of in seconds, the time can be specified in minutes using the "m" suffix, in
hours using "h" suffix, or in days using "d" suffix.
Specifying a large value for this option is useful if the network or the destination
host is down, so that Wget can wait long enough to reasonably expect the network error
to be fixed before the retry. The waiting interval specified by this function is
influenced by "--random-wait", which see.
--waitretry=seconds
If you don't want Wget to wait between every retrieval, but only between retries of
failed downloads, you can use this option. Wget will use linear backoff, waiting 1
second after the first failure on a given file, then waiting 2 seconds after the second
failure on that file, up to the maximum number of seconds you specify.
By default, Wget will assume a value of 10 seconds.
明確にするには、私はフラグを使用していますが、--waitretry
フラグは使用していません。
プロセス:
まず、私は、任意のダウンロード試行がタイムアウトします保証するために、間違ったHTTP_PROXYを設定し、HTTPS_PROXY /エクスポートします。予想通り--wait
機能が動作しない、この時点で wget --tries=5 --wait=30 <url> -O <output_filename>
:
は、私は、次のコマンドを実行します。具体的には、ダウンロードのたびに30秒待つことはありません。
代わりに
1)最初の試行後、1秒間待機します。
2)2回目の試行後、2秒間待機します。
3)3回目の試行後、3秒間待機します。
など...言い換える
は、(ダウンロード試行の間の固定された待機時間をもたらすはずである)--wait
フラグを使用してもかかわらず、Wgetは--waitretry
に記載されているように「線形バックオフ」を実行しているようですフラグセクション。
問題:
私は--wait
フラグの機能は、NOT --waitretry
フラグをしたいです。
は残念ながら、--wait
フラグが--waitretry
旗のように作用しているように見える - 予想に--wait
フラグ結果を使用すると、ダウンロードの試行の間の時間を待って固定するようにwgetでこの明らかなバグを回避する方法は、ありますか?
一般的なコンピューティングのハードウェアおよびソフトウェアに関する質問は、主にプログラミングに使用するツールを直接使用しない限り、スタックオーバーフローに関するトピックではありません。あなたはhttps://superuser.com/questions/tagged/linuxで助けを得ることができるかもしれません – tink
ありがとう、私はそこに移動します。 – Seth