首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WP不是从cronjob运行的。

WP不是从cronjob运行的。
EN

Server Fault用户
提问于 2014-12-26 02:20:30
回答 2查看 1.9K关注 0票数 3

我创建了一个使用可湿性粉剂的bash脚本,它的目的是从一个cron作业中运行。它在SSH中运行良好,但在运行cron时失败。在调试过程中,我发现WP部分没有运行。它根本没有输出。

我只取了脚本的WP-CLI部分,并测试了它。我已经证实WP确实是问题所在:

/home/username/script/test.sh

代码语言:javascript
复制
cd /var/www/domain.com/ && wp post create --post-title="test" post-content="testing" --post-status=future

下面是一个通过crontab -e从用户帐户添加的cron作业示例:(为测试目的设置为每分钟运行)

代码语言:javascript
复制
*/1 * * * * sh /home/username/script/test.sh

如果从SSH运行,脚本将完美运行,但从cron运行时没有输出。我已经尝试将| mail -s example@foo.bar添加到cronjob条目中。它将输出发送到我的电子邮件,但是wp-cli命令没有输出。我还尝试在时间数据和命令之间将我的用户名添加到cron作业条目中,以确保它是作为我的用户运行的。另外,我试着编辑bash脚本并将其更改为mail -s "cool story bro" example@foo.bar,这很好,它完全忽略了WP-CLI。

我已经寻找了大约12个小时的答案。我最近为别人的问题找到了这个答案,我认为这可能会有帮助,但我不知道如何实现它。https://serverfault.com/a/95736

我刚刚找到了其他人问题的答案,这似乎是实现另一个人的答案的方法,但它没有奏效。https://serverfault.com/a/473961,我用的正是他贴的东西。

顺便说一下,这是在最新的Ubuntu服务器上运行的。

请解释一下问题是什么,以及如何解决。或者如果你知道这件事,评论什么的话,我现在很绝望。

EN

回答 2

Server Fault用户

发布于 2014-12-31 23:55:50

由于我的问题的答案是作为评论,而不是答案,我将自己回答,以帮助其他人更容易找到问题的答案。

根据Cyrus的建议,我将上面的test.sh更改为:

代码语言:javascript
复制
cd /var/www/domain.com/ && /usr/local/bin/wp post create --post-title="test" post-content="testing" --post-status=future

包括完整的路径修复了问题。但是,我不明白为什么从username运行的脚本与从同一个用户从SSH运行的脚本不同。

票数 2
EN

Server Fault用户

发布于 2020-01-19 12:20:13

我从which wp获得了路径,并在cron中进行了更新,似乎修复了这些问题。但是有谁能让我知道我们可以在哪里设置wp来在cron下运行它而不需要定义路径呢?

cd /home/master/applications/domain.com/public_html && /usr/local/bin/wp cron event run --due-now

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/654785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档