使用WGET运行cronjob PHP

我试图做一个cron,每5分钟运行一次url。

我试图使用WGET,但是我不想在服务器上下载文件,我只想运行它。

这是我用的(crontab):

*/5 * * * * wget http://www.example.com/cronit.php 

是否有任何其他命令使用以外的wget只是运行的url,而不是downlaod它?

你可以告诉wget不要以几种不同的方式下载内容:

 wget --spider http://www.example.com/cronit.php 

这将只执行HEAD请求,但可能做你想做的事情

 wget -O /dev/null http://www.example.com/cronit.php 

这会将输出保存到/ dev / null(黑洞)

你可能也想看看wget的-q开关,它阻止它创建输出

我认为最好的选择可能是:

 wget -q --spider http://www.example.com/cronit.php 

这是除非你有一些特殊的逻辑检查用于请求页面的HTTP方法

 wget -O- http://www.example.com/cronit.php >> /dev/null 

这意味着将文件发送到标准输出,并发送标准输出到/ dev / null

我试过以下格式,工作正常

 */5 * * * * wget --quiet -O /dev/null http://localhost/cron.php 

如果你只想在php失败的时候得到输出:

 php -r 'echo file_get_contents(http://www.example.com/cronit.php);' 

这样,只有当脚本失败时,才会收到来自cronjob的电子邮件,而不是每当调用php。