接続が切断されたら、カールまたはwgetを再起動できますか?

接続が切断されたら、カールまたはwgetを再起動できますか?

ファイルをダウンロードしたいですcurl。問題は、接続が非常に遅く、不明な手段によって約180 KB後にデータの受信が中断されることです。

より良い修正方法がない場合は、接続を解除した後(ファイルが完全にダウンロードされていない場合)、実行されるシェルスクリプトを作成したいと思います。

そのようなスクリプトはどのように見えるべきですか?シェルスクリプトでこれを達成できますか?

ベストアンサー1

curl次のコマンドを使用して再試行できます。--retryオプション:

curl --retry 10 ...

指定されたURLをダウンロードするために最大10回再試行します。

--retry-...さまざまな関連オプションに関する文書を確認することをお勧めします。エラーが予想される場合、デフォルトのバックオフアルゴリズムは理想的ではない可能性があるため、この方法は--retry-delay便利です。言ったように桂里、タイムアウトオプションも便利です(--...-timeoutおよび--max-time)。

curl一時的であると考えられないエラーが発生して失敗した場合は、ループを使用できます。

result=56
while [[ ${result} == 56 ]]; do
    curl -C - ...
    result=$?
done

ループ数を制限するためにカウンタを追加することもできます。

おすすめ記事