Magento 2 Cron

Magento 2 Cron

Magento 2 Cron tutorial on how to to configure and what is Cron needed for.

How Cron Works #

Magento 2 Cron uses the hosting’s server Cron » for some of it’s functionality. This is needed for processing essential parts of the application:

  • All Magento e-mails like Order Confirmation, Transactional Emails Newsletter sending - Magento 2 does not send these emails at once but queues them and sends in batches. If your store is not sending any order confirmation emails Cron running properly is a first point to check.

  • Catalog price rules updates.

  • Customer Alerts and Notifications - if a Customer chooses to be notified when a Product comes back in stock, or there is a price change for example, on the Product Page.

  • Generating a Sitemap - as you update the Product Catalog, for example add a new Product, the sitemap.xml can be left in a state where it’s missing it, this is where cron processes a new Sitemap and adds the new Product.

  • Reindexing - changes to Products or Categories can be left behind as the index has old data stored.

  • Updates the Currency Rates

Cron Setup #

To setup the cron tasks in your system you can run:

$ bin/magento cron:install

The cron setup command can return either:

Crontab has been generated and saved

or if you already have the cron tasks installed:

Crontab has already been generated and saved

Cron Sample #

Crontab can be checked in your System via command line:

crontab -l

This will output something in the form below:

* * * * * /usr/bin/php /var/www/html/magento2/bin/magento cron:run | grep -v Ran jobs by schedule >> /var/www/html/magento2/var/log/magento.cron.log
* * * * * /usr/bin/php /var/www/html/magento2/update/cron.php >> /var/www/html/magento2/var/log/update.cron.log
* * * * * /usr/bin/php /var/www/html/magento2/bin/magento setup:cron:run >> /var/www/html/magento2/var/log/setup.cron.log

Make sure /var/www/html/magento2/ above matches the path of your Magento Root folder.

Cron Run #

To trigger a Magento 2 Cron run you can execute the command line:

$ bin/magento cron:run

The output of cron run after execution should be:

Ran jobs by schedule.

Cron Test #

So you’ve setup Cron using the method above but you are not sure if it is really working ? Below are ways to test if Cron is running in your Magento 2 store.

Cron Log #

SSH / FTP into your hosting and in the wwwroot/var/log/ folder check if any of these files exist:

  • cron.log
  • magento.cron.log
  • update.cron.log
  • setup.cron.log

Cron Table #

You can also check the cron tasks that ran or are scheduled in your Database by running following query:

select * from cron_schedule

The list returned will show when each task ran, when it finished (if it did):

- Job ID and code
- Status
- Created date
- Scheduled date
- Executed date
- Finished date 

Cron Disable / Remove #

To disabled or remove a Magento 2 Cron you can execute the command line:

$ bin/magento cron:remove

The output of the removal command after execution should be:

Magento cron tasks have been removed

Published: Dec 23, 2018. Updated: May 21, 2020.

Magento Security Scan Tool

Magento Security Scan Tool

Magento Security Scan is a tool provided by the Magento team that monitors your Ecommerce store and notifies you of security breaches.


Magento 2 Upgrade

The guide to upgrade Magento 2 stores using Composer, Wizard or Manually and how to handle Errors during the process.


Magento 2 Installation

How to setup and install Magento 2 in you server

Magento 2 Maintenance

Magento 2 Maintenance

As a store owner you will need to block the access temporary for Customers in order to update CMS Page, Products or Updating Configuration. This is how you can do it.

Magento 2 Varnish

Magento 2 Varnish

Magento 2 Varnish. What is Varnish and how it can be used and configured in a Magento 2 store.


Magento 2 Theme

Magento 2 Theme Tutorial, what is a theme and how can it be installed, configured or uninstalled in your store

Hire us

Need help with Magento 2 Cron ?


Technologies we work with

Magento is an open-source e-commerce platform written in PHP
PHP is a popular general-purpose scripting language that is especially suited to web development.
MySQL is an open-source relational database management system.
Redis is an in-memory data structure project implementing a distributed, in-memory key-value database with optional durability.
Varnish is an HTTP accelerator designed for content-heavy dynamic web sites as well as APIs.
Google Tag Manager is a free tool that allows you manage and deploy marketing tags on your website / app
Google Analytics is a web analytics service offered by Google that tracks and reports website traffic
Elasticsearch is a search engine based on the Lucene library.