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/ > /dev/null
如果出现任何错误,您可以尝试在 URL 周围加上双引号。像那样 curl -s "<a href="/default/index/tourl?u=aHR0cDovL2V4YW1wbGUuY29tL2NoZWNrLw%3D%3D" rel="nofollow" target="_blank">example.com/check</a>" > /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 &> /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¶m2=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'
重要用途'
添加>/dev/null 2>&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" > /dev/null 2>&1
像上面这样使用-O
参数意味着web请求的输出将被发送到STDOUT
(标准输出)。
>/dev/null 2>&1
将指示标准输出重定向到黑洞。因此,执行程序没有消息返回到屏幕。
【讨论】:
它适用于https
吗?如何通过这种方式忽略 SSL 问题?【参考方案10】:
使用完美的网址:
*/5 * * * * wget -q -O /dev/null "https://www.example.com/payment/WebhookOrderCron" > /dev/null 2>&1
【讨论】:
以上是关于CRON 命令每 5 分钟运行一次 URL 地址的主要内容,如果未能解决你的问题,请参考以下文章
如何从 0 分钟以外的时间开始每 5 分钟运行一次 cron 作业?