一般我们会将一些统计之类的任务放到定时任务去执行。如linux系统的crontab: crontab -e 0 17 * * * /bin/bash /var/scripts/db_backup.sh *** magento2有不少功能用到定时任务,如更新索引。magento2通过一个crontab,执行所有定时任务。 1、安装。 确保当前用户与项目的owner一致,切换到项目根目录,执行以下命令。 ~~~ bin/magento cron:install ~~~ 执行完毕后,执行crontab -l,可看到类似以下代码,即安装成功。 ~~~ #~ MAGENTO START c5f9e5ed71cceaabc4d4fd9b3e827a2b * * * * * /usr/bin/php /var/www/html/magento2/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /var/www/html/magento2/var/log/magento.cron.log #~ MAGENTO END c5f9e5ed71cceaabc4d4fd9b3e827a2b ~~~ 2、运行。 执行以下命令两次,第一次发现任务,即根据任务的执行时间生成适量的记录(记录可在表cron_schedule查看),第二次开始运行任务。 ~~~ bin/magento cron:run ~~~ 3、删除。 如果需要停止定时任务执行,可以执行以下命令: ~~~ bin/magento cron:remove ~~~ 该命令对#~ MAGENTO START xxx和#~ MAGENTO END xxx之外的任务没影响。 不放心的话,也可以选择执行crontab -e,手动删除任务。 ***