Cronjob Instellen voor Magento 2 Handleiding
Magento 2 is sterk afhankelijk van cron jobs voor achtergrondtaken. Zonder correct geconfigureerde cron werken veel functies niet - inclusief e-mail versturen, indexeren, feed generatie en de meeste third-party extensies. Deze handleiding helpt u bij het instellen en verifiëren dat cron correct draait.
Waarom Cron Belangrijk Is
Cron verwerkt kritieke achtergrondtaken:
- Indexeren - Houdt catalogus, prijzen en zoekdata actueel
- E-mail queue - Verstuurt orderbevestigingen, nieuwsbrieven, notificaties
- Feed generatie - Maakt product feeds voor Google Shopping, marktplaatsen
- Order verwerking - Importeert orders van kanalen zoals Channable, Bol.com
- Cache beheer - Ruimt verlopen cache entries op
- Log cleanup - Beheert log bestandsgroottes
- Geplande imports/exports - Voert data transfers uit
Als uw Magento winkel problemen heeft met een van deze zaken, is cron misconfiguratie vaak de oorzaak.
Snelle Setup
1. Navigeer naar Magento Directory
cd /var/www/html/magento2
Vervang met uw werkelijke Magento installatie pad.
2. Installeer Cron Jobs
Voer uit als de web server gebruiker (vaak www-data, apache, of magento):
bin/magento cron:install
Dit voegt automatisch de vereiste entries toe aan crontab.
3. Verifieer Installatie
Controleer dat cron entries zijn toegevoegd:
crontab -l
U zou entries moeten zien zoals:
* * * * * /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
* * * * * /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
Handmatige Cron Test
Voer cron handmatig uit om te verifiëren dat het werkt:
bin/magento cron:run
Bij succes ziet u output over geplande jobs die worden verwerkt.
Cron Status Controleren in Admin
Ga naar Systeem → Cron Schedule (indien beschikbaar) of controleer de cron_schedule database tabel:
SELECT * FROM cron_schedule ORDER BY scheduled_at DESC LIMIT 20;
Gezonde cron toont jobs met status = 'success' en recente executed_at timestamps.
Probleemoplossing
Cron Draait Niet
Controleer of cron service actief is:
# Debian/Ubuntu
systemctl status cron
# CentOS/RHEL
systemctl status crond
Controleer Magento cron log:
tail -100 var/log/magento.cron.log
Controleer systeem cron log:
# Debian/Ubuntu
tail -100 /var/log/syslog | grep CRON
# CentOS/RHEL
tail -100 /var/log/cron
Permissie Problemen
Zorg ervoor dat de web server gebruiker eigenaar is van de crontab:
# Controleer huidige gebruiker's crontab
crontab -l
# Indien nodig, installeer als specifieke gebruiker
sudo -u www-data bin/magento cron:install
PHP Pad Problemen
Als cron jobs falen, kan het PHP pad verkeerd zijn. Vind uw PHP binary:
which php
Bewerk dan handmatig crontab indien nodig:
crontab -e
Jobs Vastgelopen op "pending" of "running"
Ruim vastgelopen jobs op:
bin/magento cron:remove
bin/magento cron:install
Of direct in de database:
DELETE FROM cron_schedule WHERE status = 'pending';
DELETE FROM cron_schedule WHERE status = 'running';
Geheugen Fouten
Als cron jobs falen met geheugenfouten, verhoog PHP CLI geheugen in php.ini of maak een wrapper script:
#!/bin/bash
/usr/bin/php -d memory_limit=2G /var/www/html/magento2/bin/magento cron:run
Multi-Environment Setup
Voor staging en productie omgevingen, zorg ervoor dat elke omgeving zijn eigen cron configuratie heeft. Deel geen crontabs tussen omgevingen - dit veroorzaakt conflicten en dubbele verwerking.
Cron Jobs Verwijderen
Om Magento cron entries te verwijderen:
bin/magento cron:remove
Meer Hulp Nodig?
Documentatie:
- Alle Help Artikelen - Compleet documentatie overzicht
Support:
- Contact Opnemen - Hulp van ons team