结论:
–timeout是wget下载过程中一次读取数据的超时时间,并不是整个下载任务的超时时间
查看一下wget的man手册,然后随便搜索一下time,就能看到好多时间相关的参数,如下图:
这里主要看下这timeout这个参数。
–timeout 指的是一次读取数据的超时时间
如何理解这个一次读取数据呢?
其实他包含了下面三个参数:
- dns-timeout : dns 解析的时间
- connect-timeout :链接的时间
- read-timeout :读取一次数据的时间
举个错误用法的例子,我们经常会使用到 --limit-rate 这个参数来限制下载的速度,下载的时间太长,可能就想认为本次下载已经失败,之前看到有人竟然在生产环境中使用 --timeout 这个参数想达到控制整个下载任务超时的目的,这是完全错误的!!
看一下超时重试的举例:
waitretry : 两次重试之间的等待间隔
tries : 重试次数
这里设置timeout = 3 可以看到3秒钟就回出现超时重试。
切记,这里的timeout是wget下载过程中一次读取数据的超时时间,并不是整个下载任务的超时时间