How to Setup Cron Job Magento 2 - Schedule Tasks
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:
- 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:
- Open Cron configuration options for group: Index and Cron configuration options for group: Default section and complete all following information
- 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 -eAdd 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.