如何使用curl命令设置cron?

时间:2014-12-23 14:31:56

标签: perl curl cron wget

apache重建后,我的cron个工作停止了工作。 我使用了以下命令:

wget -O - -q -t 1 http://example.com/cgi-bin/loki/autobonus.pl

现在我的DC支持建议我将wget方法更改为curl。在这种情况下,正确的值是什么?

3 个答案:

答案 0 :(得分:0)

-O -相当于curl的默认行为,因此很容易。

-q-s(或--silent

--retry N将取代wget' s -t N

总而言之:

curl -s --retry 1 http://example.com/cgi-bin/loki/autobonus.pl

答案 1 :(得分:0)

尝试使用wget的完整路径进行更改

/usr/bin/wget -O - -q -t 1 http://example.com/cgi-bin/loki/autobonus.pl

您可以找到完整路径:

which wget 

以及更多,请检查您是否可以使用ping或其他方法访问目标域:

ping example.com

更新

根据评论,似乎是由/ etc / hosts中的行引起的:

127.0.0.1 example.com   #change example.com to the real domain

答案 2 :(得分:0)

似乎您在cron运行的服务器上有限制选项,您将域固定为127.0.0.1,但虚拟主机配置不适用。

您可以做的是让wget通过IP连接,但发送Host标头,以便虚拟主机匹配可以正常工作:

wget -O - -q -t 1 --header 'Host: example.com' http://xx.xx.35.162/cgi-bin/loki/autobonus.pl

<强>更新

也可能你不需要在Web服务器上运行它,所以为什么不运行:

perl /path/to/your/script/autobonus.pl