gpt4 book ai didi

linux - Wget 中的等待功能未按预期工作

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:19:24 24 4
gpt4 key购买 nike

背景:
我在 RedHat Linux(版本 7.3 (Maipo))的 Bash(版本 4.2.46(1))终端中使用 wget(版本 1.14-15.el7)。

不幸的是,我仅限于这个特定的 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.

明确地说,我使用的是 --wait标志,不是 --waitretry旗帜。

过程:

首先,我导出/设置了错误的 http_proxy 和 https_proxy,以确保任何下载尝试都会超时。

我运行以下命令: wget --tries=5 --wait=30 <url> -O <output_filename>

此时,--wait功能无法按预期工作。具体来说,它不会在每次下载尝试后等待 30 秒。

相反:
1) 第一次尝试后,等待1s。
2) 第二次尝试后,等待 2s。
3)第3次尝试后,等待3s。
等等……

换句话说,尽管使用了 --wait标志(这应该导致下载尝试之间的固定等待时间),wget 似乎正在执行“线性退避”,如 --waitretry 中所述。标志部分。

问题:
我想要 --wait 的功能标志,不是 --waitretry旗帜。

不幸的是,--wait标志似乎表现得像 --waitretry flag -- 有什么方法可以解决 wget 中的这个明显错误,以便使用 --wait标志导致下载尝试之间的预期固定等待时间?

最佳答案

可以看出--help你提供的对话框,我相信你应该可以使用--waitretry在你的命令中,类似于 get --tries=5 --waitretry=30 <url> -O <output_filename>应该可以!

关于linux - Wget 中的等待功能未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45744883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com