如何设置 Cronjob 以在 Docker 中重新索引 Magento 2

How to Set Up a Cronjob to Reindex Magento 2 inside Docker

我想知道如何设置一个 cron 作业来重新索引 Magento 2。我已经通过 运行ning

在我的 docker 中安装了 crontab
apt-get install cron

在我的 php 容器中,然后我 运行

crontab -e

并且我能够查看和编辑我的 cronjob 文件。所以我设置了一个命令,像这样每分钟执行一次:

* * * * * php bin/magento indexer:reindex

我关闭了编辑器并说安装了一个新的 crontab。我运行crontab -l,确实我的命令在那里,但没有任何反应。缺少什么?

第一个错误是路径,您需要输入命令的完整路径。

例如,php 通常位于 /usr/local/bin/php,但您可以通过 php 容器内的 运行 which php 来确保这一点。对于 bin/magento 路径,您只需输入 bin 文件夹并键入 pwd 即可获得完整路径。

第二个错误是您可能忘记在 运行 service cron start 之前启动 cronjob。您也可以随时使用 /etc/init.d/cron status

查看状态