1

我对 cron 作业非常陌生,但是我使用的 wordpress 插件之一依赖于一个以我们希望的方式运行(自动报告而不是手动)。

它告诉我去开始一个 cron 工作并给它命令

wget --quiet /wp-admin/admin-ajax.php?action=THE_PLUGINS_FUNCTION

好的,我做到了,我每分钟设置一次,所以整个命令看起来像这样

(* * * * *) wget --quiet /wp-admin/admin-ajax.php?action=THE_PLUGINS_FUNCTION

当然,查询字符串不是THE_PLUGINS_FUNCTION,它的实际名称都是小写的。

但它似乎没有运行?

更多信息:

我不确定cron 工作是什么,我也不确定 like和--quiet之间的区别,我再次知道关于 cron 工作的“零”wgetcurl

如果您需要更多信息,请告诉我

编辑:我删除了--quiet并在我的电子邮件垃圾邮件文件夹中得到了这个:“ /wp-admin/admin-ajax.php?action=repagent_email_reports: Scheme missing。”

4

1 回答 1

3

Cron 作业并不神秘。一个 cron 作业就是一个时间间隔和一个 shell 命令。在每个时间间隔,都会运行 shell 命令。

您在此处提供的 cron 作业由以下两部分组成:

  • (* * * * *)表示时间间隔。这是由空格分隔的五个字段。这些字段按顺序表示:分钟、小时、日、月和工作日。如果您在其中一个字段中指定了一个数字,例如1在分钟字段中,它只会在当前分钟为 时运行 cron 作业110字段中的Ahour只会在当前时间为 时运行10。A*表示任何值都可以。五颗星表示每小时每分钟或每月每天运行一次命令。奇怪的是,如果你有* 10 * * *它,它将在每个月的每一天的第 10 个小时的每一分钟运行 cron 作业。

  • wget --quiet /wp-admin/admin-ajax.php?action=THE_PLUGINS_FUNCTION是要运行的 shell 命令。这只是一个shell命令。您可以通过在 shell 中运行 shell 命令来测试它。

您遇到的问题是您的论点wget不正确。to的--quiet参数wget意味着它不会产生太多的输出。/wp-admin/admin-ajax.php?action=THE_PLUGINS_FUNCTION是要请求的地址。由于不是有效地址wget而失败-缺少架构 ( ) 和主机名 ( )。/wp-admin/admin-ajax.php?action=THE_PLUGINS_FUNCTIONhttp:test.domain.com

您可以通过将其更改为来修复您的 cron 作业:

(* * * * *) wget --quiet http://test.domain.com/wp-admin/admin-ajax.php?action=THE_PLUGINS_FUNCTION

您需要为要运行此命令的每个子域添加一个新的 cron 作业。

您可以通过将命令粘贴到 shell 中并运行它来检查以确保您的wget命令正常工作。一旦您知道它工作正常,请将其添加为 cron 作业,它应该可以正常工作。

于 2013-03-11T23:19:33.877 回答