crontab与wget - 为什么它运行两次?

时间:2010-12-16 07:17:52

标签: wget crontab

我有一个php脚本,它从webservice运行并插入到DB。

crontab -e

......other cron tasks above.......
...
..
..
# Run test script.php at 1610
10 16 * * * /usr/bin/wget -q -O /home/username/my_cronjobs/logs/cron_adhoc http://localhost/project/script.php

显然,在16:10,这个脚本运行两次! 16:10:01和16:25:02

是否有问题,必须使用wget? 或者我是否错误地设置了cron作业的时间表?

当我从浏览器运行http://localhost/project/script.php时,它只会运行一次..

关于这个问题的任何想法?

我已经测试过,没有其他用户运行相同的工作......我怀疑wget的工作方式。

由于我的脚本需要至少20分钟才能完成而不发回响应(它从webservicces中提取大量数据并保存到db)..怀疑是否有超时或重试wget默认导致此问题。

3 个答案:

答案 0 :(得分:13)

The wget docs给出900秒或15分钟的默认读取超时。

  

如果在下载的任何时候,没有收到超过的数据   指定的秒数,读取失败,下载为   重新启动

这就是为什么你看到15分钟后再次调用该文件的原因。您可以通过添加参数和适当的秒数来指定更长的读取超时:

--read-timeout=1800

答案 1 :(得分:5)

我想我会解决自己的问题。

我的php需要一些时间来加载,我想wget重试或在一些默认指定时间后超时。

我使用/ usr / bin / php

解决了这个问题

答案 2 :(得分:1)

用户的crontab是谁?

检查是否有其他用户在不同时间为您设置了cron作业并忘记了它。

相关问题