我在凌晨1点开始执行cronjob,使用curl检查web上某些文件的更新,将所需的更新保存到文本文件中,然后读取文本文件并从中下载。然后,我将curl响应输出到一个日志文件中,这样我就可以看到早上发生了什么。在cron调用我的脚本大约4秒钟后,我的连接似乎没有启动。例如,我的日志的前几行是:
1:00:01 A.M. curl: (6) cannot resolve host 'somehost.com/dir/file.zip'
# which is the error I see when I have no internet connection然后重复几次,直到1:00之后大约4秒,当文件开始下载时,我看到正常的curl输出。不幸的是,这意味着我总是在我的更新列表的顶部错过了大约7-8个从未下载过的文件。
我能想到的唯一原因是,即使我允许我的网络适配器唤醒我的计算机,但在我的计算机唤醒后,连接到互联网需要大约4秒;在这4秒内,我的脚本正在运行我的文本文件,调用curl,并且无法下载任何东西。
在curl中有没有与此相关的内容?
我知道我可以写一个唤醒脚本,或者将错误的curl传回脚本,以便稍后下载,但如果一个网站宕机了,或者我实际上没有互联网服务,那么可能会出现无限循环,如果我可以使用curl来不断尝试唤醒我的网络,那就太好了。
发布于 2010-06-30 23:52:23
从网络的角度来看,这可能是由许多原因造成的。
在向下移动更新列表之前,我会让脚本测试curl的响应,以确保连接正常工作。
https://stackoverflow.com/questions/3150950
复制相似问题