使用WGET运行cronjob PHP

Abd*_*rif 43 php linux cron wget

我试着做一个cron,每隔5分钟运行一个网址.

我尝试使用WGET但是我不想在服务器上下载文件,我想要的只是运行它.

这是我使用的(crontab):

*/5 * * * * wget http://www.example.com/cronit.php
Run Code Online (Sandbox Code Playgroud)

除了wget之外还有其他命令可以运行url而不是下载它吗?

Jam*_*s C 95

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

wget --spider http://www.example.com/cronit.php
Run Code Online (Sandbox Code Playgroud)

它只会执行HEAD请求,但可能会执行您想要的操作

wget -O /dev/null http://www.example.com/cronit.php
Run Code Online (Sandbox Code Playgroud)

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

您可能也想查看wget的-q开关,这会阻止它创建输出

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

wget -q --spider http://www.example.com/cronit.php
Run Code Online (Sandbox Code Playgroud)

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

  • `wget --quiet --spider --timeout = 0 --tries = 1"http://www.example.com/cronit.php"` - 这就是我用来"ping"长时间运行的php脚本...*免责声明*我对`wget`或`crontab`没有多少经验所以请阅读[手册](http://linux.die.net/man/1/wget)并测试解决方案你自己的环境. (5认同)

Emi*_*röm 14

wget -O- http://www.example.com/cronit.php >> /dev/null
Run Code Online (Sandbox Code Playgroud)

这意味着将文件发送到stdout,并将stdout发送到/ dev/null


Mos*_*iur 5

我尝试了以下格式,工作正常

*/5 * * * * wget --quiet -O /dev/null http://localhost/cron.php
Run Code Online (Sandbox Code Playgroud)