Magento 2: Как установить cron для переиндексации в SSH в magento 2?
2 answers
Вы можете запустить переиндексацию отдельного индекса как независимый процесс, например:
* * * * * /usr/bin/php /Users/uchuhlebov/web/m212/www/bin/magento indexer:reindex catalog_category_product >> /Users/uchuhlebov/web/m212/www/var/log/indexer.cron.log
Где:
-
* * * * *
- время -
/usr/bin/php
- путь к php -
/Users/uchuhlebov/web/m212/www/bin/magento
- путь к вашему интерфейсу командной строки Magento (/Users/uchuhlebov/web/m212/www/
- является корневым каталогом Magento) -
indexer:reindex catalog_category_product
команда, которую вы хотите запустить -
>> /Users/uchuhlebov/web/m212/www/var/log/indexer.cron.log
- вывод журнала
В моем примере я запускаю переиндексацию индекса catalog_category_product
, но вы можете использовать любой тип. Если вы хотите запустить более 1 переиндексации, вы можете укажите их (имя индекса) через пробел.
Здесь вы можете найти ответ на вопрос "Как получить путь к двоичному файлу php на сервере":
Обычно это /usr/bin/php, но вы можете попытаться захватить и проанализировать вывод команды "где php" или "какой php".
Или еще лучше, используйте константу PHP_BINARY, если она доступна. Взгляните здесь.
Кроме того, убедитесь, что ваш cron процесс запущен: /etc/init.d/crond status
должно отображаться что-то похожее на crond (pid 1494) is running...
Для просмотра списка доступных индексов используйте команду:
bin/magento indexer:info
Результат:
design_config_grid Design Config Grid
customer_grid Customer Grid
catalog_category_product Category Products
catalog_product_category Product Categories
catalog_product_price Product Price
catalog_product_attribute Product EAV
catalogsearch_fulltext Catalog Search
cataloginventory_stock Stock
catalogrule_rule Catalog Rule Product
catalogrule_product Catalog Product Rule
* * * * * /usr/bin/php /path/to/your/site/root/bin/magento index:reindex <index_type>