配置和运行cron(定时任务)
cron(定时任务)概述
Magento 2 有许多功能需要用到cron(定时任务),例如下面这些功能:
- Catalog price rules(分类价格规则)
- Newsletters(通讯邮件)
- Generating(生成) Google sitemaps
- 客户提醒/通知(产品价格变化,产品库存)
- 刷新索引
- 汇率自动更新
- Magento 2 所有的电子邮件(包括所有的交易和订单确认)
我们建议您运行的cron为Magento 2文件系统所有者. 而不是root用户。
你不可以再运行 dev/tools/cron.sh
因为这个脚本已经被删除了.
Magento 2许多重要的功能取决于系统配置适当的cron,包括索引。未能正确设置意味着Magento 2功能没有达到预期效果。
在浏览器中运行cron可以查看 在浏览器运行安全设置 cron.php
第一步
-
登录到Magento服务器切换到Magento 2文件系统的所有者用户要有写入的权限.
如果你使用Bash shell,你也可以使用下面的语法转换到Magento文件系统所有者:
su <Magento 2文件系统所有者> -s /bin/bash -c <command> sudo -u <Magento 2文件系统所有者> <command>
您也可以按下列方式运行命令:
-
cd <Magento 2 安装目录>/bin
并运行它们./magento <command name>
php <Magento 2 安装目录>/bin/magento <command name>
除了这里讨论的命令参数外,请参见常见参数.
从命令行运行cron
命令选项:
magento cron:run [--group="<cron group name>"]
设置自定义corn, 查看 配置自定义cron.
你必须运行cron两次:第一次获得定时任务,第二次运行定时任务。
在后台运行cron
Magento 2文件系统所有者运行cron
先决条件
Magento2 有两套cron配置,每个cron运行不同的配置:
-
PHP的命令行配置:一般的cron作业,更新索引,生成电子邮件,生成站点地图,等等。
您可以找到命令行配置使用命令
php --ini
. -
web服务器PHP插件配置: 其他两个cron作业所使用的组件管理器和系统升级工具.
您可以找到Web服务器插件配置使用
phpinfo.php
.
- 为了避免安装和升级过程中出现的问题,我们强烈建议您在PHP命令行配置和PHP web服务器插件的配置中应用相同的PHP设置。有关更多信息,参见 PHP的设置要求 .
-
在一个多节点的系统,可以只在一个节点上运行crontab。
查看 php.ini 路径
查看命令
which php
命令结果如下:
/usr/bin/php
创建cron(定时任务)
创建一个Magento 2文件系统所有者的cron,输入下面的命令:
crontab -u <Magento 2文件系统所有者用户名> -e
示例,
crontab -u magento_user -e
文本编辑器显示。(您可能需要先选择文本编辑器。)
* * * * * <path to php binary> <magento install dir>/bin/magento cron:run | grep -v "Ran jobs by schedule" >> <magento install dir>/var/log/magento.cron.log * * * * * <path to php binary> <magento install dir>/update/cron.php >> <magento install dir>/var/log/update.cron.log * * * * * <path to php binary> <magento install dir>/bin/magento setup:cron:run >> <magento install dir>/var/log/setup.cron.log
相关话题
- 缓存管理
- 索引管理
- 代码编译
- Magento 2 模式(mode)设置
- URN(统一资源名称)高亮显示
- 依赖报告(Dependency reports)
- 翻译和语言包
- 部署静态视图文件
- 运行单元测试
- 转换layout(布局) xml 文件
- 性能测试生成数据
Edit this page on gitHub
Give us feedback