linux – wget强制重试,直到有连接

linux – wget强制重试,直到有连接,第1张

概述我有一个使用wg在3g设备上运行的bash脚本.我希望脚本暂停,直到我得到响应,所以我设置了我的代码: wget -t 0 -T 15 --retry-connrefused www.example.com 问题是,当根本没有连接(3g下降几秒钟)时,DNS无法解析主机并且wget会停止重试. 有没有办法强制重试,直到连接回来?我知道我可以写一个循环,但我想知道wget中是否有可以使用的设置.如果 我有一个使用wg在3g设备上运行的bash脚本.我希望脚本暂停,直到我得到响应,所以我设置了我的代码:

wget -t 0 -T 15 --retry-connrefused www.example.com

问题是,当根本没有连接(3g下降几秒钟)时,DNS无法解析主机并且wget会停止重试.

有没有办法强制重试,直到连接回来?我知道我可以写一个循环,但我想知道wget中是否有可以使用的设置.如果没有什么最好的变量来构建循环?

更多细节:

使用我编写的代码,wget将重试,但如果设备根本没有Internet连接(例如我从设备中拔出3g加密狗),它将停止重试,告诉我它无法解析主机地址.它在-T 15定义的15秒后发送

wget: unable to resolve host address
解决方法 这个循环应该这样做:

while true;dowget -T 15 -c http://example.com && breakdone

这个怎么运作:

>如果没有网络连接,while循环将不会中断,它将连续运行wget命令并保持打印错误消息.>一旦连接到Internet,wget就会开始解析主机并获取文件.>现在,如果连接丢失或发生其他错误,wget的默认重试(不使用0或无限重试,使用有限值)将重试获取文件,直到达到超时15秒. 15秒后,wget命令将失败并打印错误输出,因此while循环不会中断.因此,它将再次进入没有连接等的状态并保持打印错误消息.>一旦连接或错误得到解决,wget就会开始解析主机并获取文件.只要文件未完全下载,这些步骤(1-4)就会继续.>此wget命令使用-c选项,即resume选项.所以wget的每个实例都会从它停止的地方开始(下载).>当文件完全下载并且wget命令成功时,循环将中断.

总结

以上是内存溢出为你收集整理的linux – wget强制重试,直到有连接全部内容,希望文章能够帮你解决linux – wget强制重试,直到有连接所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/1027365.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存