Configure Cronjob in Magento 2 allows some operations run automatically on your Magento 2 site via a script you have written in the configuration. The operations you can control their scheduling from Magento Scheduler include:

  • Email
  • Catalog Price Rules
  • Newsletters
  • XML Sitemap Generation
  • Currency Rate Updates

The cron job is the awesome periodical method to make any of your important programs active automatically and properly instead of doing them manually. However, it is sure that the base URLs for the store are set correctly, so the URLs that are generated and used during cron operations are correct as well as the cron can be run perfectly.

Explore:Magento 2 Cron Schedule module

Thus, this tutorial will help know what you need to do to configure the cron. We are going to discuss two ways to set up a cron job: via Magento Admin, and using Command Line.

To setup Cron Job in Magento 2 admin:

In this way, you can configure cron jobs in the backend by logging into your admin account:

  • On the Magento Admin, click Stores. In the Settings section, select Configuration.
  • Select System under Advanced in the panel on the left
  • Open the Cron section, and continue with following:
Configuration
  • Open Cron configuration options for group: Index and Cron configuration options for group: Default section and complete all following information
Cron Configuration Group Index
Cron Configuration Group Default
  • Generate Schedules Every
  • Schedule Ahead for
  • Missed if not Run Within
  • History Cleanup Every
  • Success History Lifetime
  • Failure History Lifetime
  • Use Separate Process
  • When cron job setup complete, click Save Config

Setup Magento 2 Cron job by command line:.

To setup cron job for Magento 2, you should run the following command line to update the cronjob table:

crontab -e

Add the following lines to your crontab file:

*/1 * * * * php -c {php.ini_path} {magento_path}/bin/magento cron:run
*/1 * * * * php -c {php.ini_path} {magento_path}/update/cron.php
*/1 * * * * php -c {php.ini_path} {magento_path}/bin/magento setup:cron:run

In this case, our enviroment is that: {php.ini_path} is /etc/php5/apache2/php.ini and {magento_path} is /var/www/m2, so the command cronjob is:

*/1 * * * * php -c /etc/php5/apache2/php.ini /var/www/m2/bin/magento cron:run
*/1 * * * * php -c /etc/php5/apache2/php.ini /var/www/m2/update/cron.php
*/1 * * * * php -c /etc/php5/apache2/php.ini /var/www/m2/bin/magento setup:cron:run

Save and close the crontab file.

  • Nano editor: Press Ctrl + O to save then Ctrl + X to quit.
  • Vim editor: Press Escape, :wq to save and quit.

The bottom line

Setting up Cron Job for Magento 2 is vital to schedule repetitive activities on your website. A smooth cron job can ensure good site performance and improve customer experience. I hope you have gained understanding on how to set up a cron job for your Magento 2 store via Magento Admin or Command Line. If you need further support, contact us here.