Cron Jobs的新手 - 和Cron Job没有运行?

时间:2013-03-11 22:54:55

标签: cron cpanel

我对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,它的实际名称都是小写。

但它似乎没有运行?

更多信息:

我不确定--quiet cron的工作是什么,我也不确定wgetcurl之间的区别,我又知道'零'了cron jobs

如果您需要更多信息,请与我们联系

编辑:我删除了--quiet并在我的垃圾邮件文件夹中获取了此信息: “/wp-admin/admin-ajax.php?action=repagent_email_reports:方案缺失。”

1 个答案:

答案 0 :(得分:3)

Cron的工作并不神秘。所有cron作业都是时间间隔和shell命令。在每个时间间隔,都将运行shell命令。

您在此处提供的cron作业包含以下两部分:

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

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

您遇到的问题是wget的参数不正确。 --quiet的{​​{1}}参数意味着它不会产生太多输出。 wget是要请求的地址。 /wp-admin/admin-ajax.php?action=THE_PLUGINS_FUNCTION失败,因为wget不是有效地址 - 缺少架构(/wp-admin/admin-ajax.php?action=THE_PLUGINS_FUNCTION)和主机名(http:)。

您可以通过将其更改为:

来修复您的cron作业
test.domain.com

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

您可以通过将其粘贴到shell并运行它来检查以确保您的(* * * * *) wget --quiet http://test.domain.com/wp-admin/admin-ajax.php?action=THE_PLUGINS_FUNCTION 命令正常工作。一旦你知道它工作正常,把它添加为一个cron作业,它应该工作正常。