CRON 命令每 5 分钟运行一次 URL 地址

Posted

技术标签:

【中文标题】CRON 命令每 5 分钟运行一次 URL 地址【英文标题】:CRON command to run URL address every 5 minutes 【发布时间】:2012-07-07 16:23:54 【问题描述】:

我是 cron 命令的新手,我需要帮助。

我在http://example.com/check/ 上有一个脚本。

cron 每 5 分钟运行一次该 URL 的命令是什么?

我试过了

*/5 * * * * /home/test/check.php

但我想运行 URL 而不是相对脚本地址。怎么做?

【问题讨论】:

查看相关问题(右下) - [***.com/questions/1830208/… 我试过 */5 * * * * /home/test/check.php 但我想运行 URL 而不是相对脚本地址。怎么做? 这是一个文件而不是 URL - 只需在 url 中执行 wget 【参考方案1】:

使用 cURL:

*/5 * * * * curl http://example.com/check/

【讨论】:

请注意,您应该像这样通过管道连接到 /dev/null 来运行 curl 而不输出或进度。 */5 * * * * curl -s http://example.com/check/ &gt; /dev/null 如果出现任何错误,您可以尝试在 URL 周围加上双引号。像那样 curl -s "<a href="/default/index/tourl?u=aHR0cDovL2V4YW1wbGUuY29tL2NoZWNrLw%3D%3D" rel="nofollow" target="_blank">example.com/check</a>" &gt; /dev/null 【参考方案2】:

基于cmets尝试

*/5 * * * * wget http://example.com/check

[编辑:2017 年 4 月 10 日]

这个答案似乎仍然有一些点击,所以我想我会添加一个指向我偶然发现的新页面的链接,这可能有助于创建 cron 命令:https://crontab.guru

【讨论】:

wget 会像这样创建临时文件使用 已编辑以确保未创建临时文件(希望它被接受,但 JiC)*/5 * * * * wget -qO- http://example.com/check &amp;&gt; /dev/null 我会做 */5 * * * * wget example.com/check --delete-after 以确保没有临时文件 并且不要忘记在保存 crontab 文件后拨打sudo service cron reload ;)【参考方案3】:

要运行 url,您需要一个程序来获取该 url。你可以试试wget 或curl。有关可用选项,请参阅手册。

【讨论】:

【参考方案4】:

使用 curl 的另一个优点是,如果需要,您还可以通过使用 $_GET$_POST 等保持 HTTP 向脚本发送参数的方式,如下所示:

*/5 * * * * curl --request GET 'http://exemple.com/path/check.php?param1=1&param2=2'

【讨论】:

【参考方案5】:

要运行 URL,只需使用以下命令 easy yess CPanel 100%

/usr/bin/php -q /home/CpanelUsername/public_html/RootFolder/cronjob/fetch.php

希望对你有所帮助。

【讨论】:

/usr/bin/php -q /home/CpanelUsername/public_html/RootFolder/cronjob/fetch.php【参考方案6】:

我试试GET 'http://example.com/?var=value' 重要用途' 添加&gt;/dev/null 2&gt;&amp;1 激活时不发送电子邮件 对不起我的英语

【讨论】:

【参考方案7】:

在我的 linux 主机上没有任何效果。他们提供的唯一可能的命令是:

/usr/local/bin/php absolute/path/to/cron/script

/usr/local/bin/ea-php56 absolute/domain_path/path/to/cron/script 

这就是我让它工作的方式: 1.我创建了一个简单的test.php文件,内容如下:

echo file_get_contents('http://example.com/check/');

2。我使用绝对内部路径给我的选项服务器设置了 cronjob :)

/usr/local/bin/php absolute/path/to/public_html/test.php

【讨论】:

【参考方案8】:

我发现这个解决方案每 5 分钟从 cPanel 运行一个 URL 您可以通过此命令执行任何任务。

*/5 * * * * 每 5 分钟运行一次。所以它在一小时内只运行一次

这是我用来每秒运行我的 URL 的示例

*/5 * * * * curl http://www.example.com/;
sleep 5m; curl http://www.example.com/; 
sleep 5m; curl http://www.example.com/; 
sleep 5m; curl http://www.example.com/; 
sleep 5m; curl http://www.example.com/; 
sleep 5m; curl http://www.example.com/; 
sleep 5m; curl http://www.example.com/; 
sleep 5m; curl http://www.example.com/; 
sleep 5m; curl http://www.example.com/; 
sleep 5m; curl http://www.example.com/; 
sleep 5m; curl http://www.example.com/; 
sleep 5m; curl http://www.example.com/; 

要休眠 5 秒,请使用:

sleep 5

想睡5分钟,用:

sleep 5m

暂停或睡眠 5 小时,使用:

sleep 5h

如果您不想要任何 cron 作业的电子邮件,只需将其添加到命令末尾

 >/dev/null 2>&1

【讨论】:

【参考方案9】:

下面是一个实际的 wget 脚本示例:

wget -q -O /dev/null "http://example.com/cronjob.php" &gt; /dev/null 2&gt;&amp;1

像上面这样使用-O参数意味着web请求的输出将被发送到STDOUT(标准输出)。

&gt;/dev/null 2&gt;&amp;1 将指示标准输出重定向到黑洞。因此,执行程序没有消息返回到屏幕。

【讨论】:

它适用于https 吗?如何通过这种方式忽略 SSL 问题?【参考方案10】:

使用完美的网址:

*/5 * * * * wget -q -O /dev/null "https://www.example.com/payment/WebhookOrderCron" > /dev/null 2>&1

【讨论】:

以上是关于CRON 命令每 5 分钟运行一次 URL 地址的主要内容,如果未能解决你的问题,请参考以下文章

每 5 分钟运行一次 Cron 作业,持续 10 秒

如何从 0 分钟以外的时间开始每 5 分钟运行一次 cron 作业?

为什么这个cron作业每分钟运行一次?

cron 作业运行 url cpanel

cron和crontab命令详解 crontab 每分钟每小时每天每周每月每年定时执行 crontab每5分钟执行一次

如何在服务器上的特定小时内每分钟运行一次cron作业