我对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的工作是什么,我也不确定wget
和curl
之间的区别,我又知道'零'了cron jobs
如果您需要更多信息,请与我们联系
编辑:我删除了--quiet
并在我的垃圾邮件文件夹中获取了此信息:
“/wp-admin/admin-ajax.php?action=repagent_email_reports:方案缺失。”
答案 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作业,它应该工作正常。