使用WGET运行cronjob PHP

ef1yzkbh  于 2023-01-04  发布在  PHP
关注(0)|答案(5)|浏览(116)

我试着做一个cron,每5分钟运行一个url。
我尝试使用WGET,但我不想下载服务器上的文件,所有我想要的只是运行它。
这是我使用的(crontab):

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

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

ha5z0ras

ha5z0ras1#

您可以通过几种不同的方式告诉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方法

p8ekf7hl

p8ekf7hl2#

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

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

gopyfrb3

gopyfrb33#

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

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

wmomyfyw4#

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

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

或更安全:

*/5 * * * * php /var/www/example/cronit.php

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

izj3ouym

izj3ouym5#

您可以使用以下代码使用cron job和cpanel来点击脚本:

wget https://www.example.co.uk/unique-code

相关问题