Besseres wp-cron mit Linux’s crontab

Vom
| Aktualisiert am
| Von Robert Einsle
Lerne, wie du das standardmäßige wp-cron in WordPress durch einen echten Cronjob auf deinem Linux-System ersetzt, um eine zuverlässigere Aufgabenplanung zu erreichen. Folge der Schritt-für-Schritt-Anleitung für eine effiziente Umsetzung und optimiere die Leistung deiner Website​.

WordPress verfügt über etwas, das wp-cron genannt wird. Wenn du noch nichts darüber gelesen hast, ist das okay. Aber sei dir bewusst, dass du nicht ohne es leben kannst! Deswegen rate ich dir nicht, wp-cron zu deaktivieren.

Deaktiviere wp-cron

Dennoch müssen wir das standardmäßige Verhalten von WordPress wp-cron deaktivieren, indem wir folgende Zeile zur Datei wp-config.php hinzufügen:

define('DISABLE_WP_CRON', true);

Einen echten Cronjob einrichten

Öffne zuerst crontab von deinem Linux-Terminal aus:

sudo crontab -u www-data -e

Füge dann eine Zeile wie unten beschrieben hinzu.

*/5 * * * * curl http://example.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1

oder

*/5 * * * * cd /var/www/example.com/htdocs; php /var/www/example.com/htdocs/wp-cron.php?doing_wp_cron > /dev/null 2>&1

Bitte stelle sicher, dass du den korrekten Pfad zu wp-cron.php verwendest.

Ich empfehle Dir aber WP-CLI verwenden. Wie Du WP-CLI installiert, kann Du hier lesen:

*/5 * * * * cd /usr/share/nginx/www.domain.com; wp cron event run --due-now > /dev/null 2>&1

Oben wird wp-cron alle 5 Minuten ausgeführt. Du kannst */5 durch */10 ersetzen, um es alle 10 Minuten laufen zu lassen.

Der Unterschied zwischen den beiden Zeilen ist, dass die erste PHP-FPM (oder PHP-CGI) verwendet und die zweite PHP-CLI. CLI-Skripte haben keine Zeitlimits. Je nach deinem Setup kann das wünschenswert oder unerwünscht sein.

Zusammenfassung

In diesem Artikel wird erklärt, wie man WordPress‘ wp-cron durch einen effektiveren Linux-crontab ersetzt. Der Autor beschreibt, wie das standardmäßige wp-cron-Verhalten deaktiviert und stattdessen ein echter Cronjob eingerichtet wird, der alle 5 oder 10 Minuten ausgeführt wird. Es werden verschiedene Methoden vorgestellt, um wp-cron über PHP-FPM/PHP-CGI oder PHP-CLI auszuführen, wobei letztere keine Zeitlimits hat, was je nach Setup vorteilhaft sein kann. Der Artikel bietet auch eine Empfehlung zur Nutzung von WP-CLI für diese Aufgabe.

Robert Einsle
Robert Einsle
schnelle Problemlösung durch langjährige Erfahrung

Schreibe einen Kommentar