85

我有一个 Web 应用程序,它必须执行重复的任务,发送消息和警报,我已经使用脚本页面在浏览器中加载时执行这些任务,即http://example.com/tasks.php,我包括它是通过我的网络应用程序的每个页面中的 iframe 来实现的。

现在我想将其更改为使用 CRON 作业,因为第一种方法可能会导致性能下降,那么我该如何制作访问http://example.com/tasks.php的 CRON 作业。但是,我不希望这个 CRON 作业创建输出文件,例如 day.*!

我将应用程序托管在允许通过 cPanel 进行 CRON 作业的共享托管服务上。

4

10 回答 10

231
* * * * * wget -O - http://yoursite.com/tasks.php >/dev/null 2>&1

那应该对你有用。只要有一个wget加载页面的脚本。

Using-O -表示网络请求的输出将被发送到 STDOUT(标准输出)

通过添加>/dev/null,我们指示标准输出重定向到黑洞。通过添加2>&1,我们指示 STDERR(错误)也被发送到 STDOUT,因此所有输出都将被发送到黑洞。(所以它会加载网站,但永远不会在任何地方写入文件)

于 2012-11-06T21:18:06.400 回答
25

您不需要重定向,仅使用

* * * * * wget -qO /dev/null http://yoursite.com/tasks.php
于 2012-11-06T21:25:53.870 回答
25

您可以在此线程curl中按原样使用

对于懒人:

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

这将每 5 分钟执行一次。

于 2015-07-16T05:45:51.053 回答
10

您还可以使用本地命令行 php-cli:

* * * * * php /local/root/path/to/tasks.php > /dev/null

它更快并减少您的网络服务器的负载。

于 2012-11-06T21:30:21.790 回答
7

我用这个命令

wget -q -O /dev/null "http://example.com/some/cron/job.php" > /dev/null 2>&1

定时任务:

* * * * * wget -q -O /dev/null "http://example.com/some/cron/job.php" > /dev/null 2>&1
于 2014-04-11T06:29:25.297 回答
2

您可以将其用于带有参数的 url:

lynx -dump "http://vps-managed.com/tasks.php?code=23456"

默认情况下,lynx 在所有系统上都可用。

于 2016-06-05T11:36:05.177 回答
2

你可以使用这个命令:

links https://www.honeymovies.com
于 2017-02-09T05:44:13.327 回答
2

你可以试试这个:-

    wget -q -O - http://www.example.com/ >/dev/null 2>&1

于 2017-04-05T06:36:19.607 回答
2

* * * * * wget --quiet https://example.com/file --output-document=/dev/null

我发现--quiet比 更清晰-q--output-document=/dev/null比 更清晰-O - > /dev/null

于 2017-11-05T00:20:30.710 回答
0

这是一个简单的例子。你可以像这样使用它

wget -q -O - http://example.com/backup >/dev/null 2>&1

在开始时,您可以添加您的选项,例如 (*****)。它取决于您的系统要求,您希望每分钟或几小时运行一次等。

于 2021-02-10T12:51:21.667 回答