如果速度低于某个阈值,如何使 wget 重试下载?

Mat*_*att 16 wget

我正在尝试使用 wget 下载一个 2GB 的大文件,但几分钟后它似乎一直停滞不前。

我 ^C 它,然后再次 wget [with --continueoption],然后它再次开始下载。

有没有办法在停止下载时自动重试下载?谢谢

Pab*_*eta 24

您可以使用该--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.
Run Code Online (Sandbox Code Playgroud)

所以--tries=0应该做的伎俩。

那,结合--read-timeout=seconds也。该是指空闲时间:如果在下载任何一点,是为没有接收到的数据超过指定秒数,读取失败,在下载重新启动。

所以最后的命令:

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

  • 好的。也许你可以使用`--read-timeout=seconds`代替。此超时的“时间”指的是空闲时间:如果在下载过程中的任何时间点没有收到数据超过指定的秒数,则读取失败并重新开始下载。此选项不会直接影响整个下载的持续时间。当然,远程服务器可以选择比此选项要求的更早终止连接。默认读取超时为 900 秒。 (8认同)