Cron-Jobs - Beispiele

WordPress: serverseitiger Cron-Job

Als eines der meistverwendeten CMS weltweit, sind Installationen von WordPress auf den unterschiedlichsten Serverkonfigurationen zu finden. Da nicht immer davon ausgegangen werden kann, dass auf eben diesen Servern auch immer ein Cron-Job-Dienst zur Verfügung steht, wurde WordPress, ein internes Script, als Workaround hinzugefügt - die wp-cron.php.

Das Script wird bei jedem Seitenaufruf ausgeführt und prüft, ob geplante Aufgaben abgearbeitet werden müssen. In Verbindung mit Cache-Plugins kann dies allerdings zu Fehlfunktionen führen. Außerdem ist das Script ein beliebtes Angriffsziel bei DOS-Attacken. Es kommt zu einer erhöhten Serverlast und in der Folge, je nach Stärke des Angriffes, zum Seiten- oder sogar Serverausfall.

Um dem entgegen zu wirken, sollte man die automatische Ausführung von Cron-Jobs über WordPress deaktivieren, wenn der Hostings-Server einen entsprechenden Dienst anbietet. Selbstverständlich ist dies bei all unseren Systemen der Fall. Um das zu bewerkstelligen, ist eine Anpassung der Datei wp-config.php nötig. Diese finden Sie im Hauptordner Ihrer WordPress-Installation.

  • Laden Sie sich die Datei per FTP herunter und legen Sie sicherheitshalber eine Kopie als Backup an.
  • Öffnen Sie die Datei mit einem Editor (z.B. Note++).
  • Suchen Sie die Zeile mit dem folgenden Eintrag: define('WP_DEBUG', false); (recht weit unten in der Datei).
  • Fügen Sie darunter eine Zeile mit folgendem Inhalt ein: define('DISABLE_WP_CRON', true);
  • Speichern Sie die Datei.
  • Laden Sie die modifizierte Datei wieder auf Ihren Webspace.
  • Wählen Sie sich nun mit Ihren Zugangsdaten in LiveConfig ein.
  • Klicken Sie in der linken Navigation auf den Menüpunkt Cron-Jobs.
  • Betätigen Sie oberhalb den Button Neuer Cron-Job…. Es öffnet sich ein Pop-up mit Konfigurationsmöglichkeiten.
  • Geben Sie nun oberhalb folgenden Befehl ein:
    /usr/bin/wget -q -O - http://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
  • Wir empfehlen ein halbstündliches Jobintervall. Nehmen Sie daher alle weiteren Einstellungen wie in unserer Abbildung vor.
  • Bestätigen Sie Ihre Eingaben mit einen Klick auf den Button speichern. cron04 cron04

Shopware

Wie Magento bringt auch Shopware seine eigene Job-Verwaltung mit. Diese müssen ebenfalls nur noch per Cron-Job aktiviert werden. Bitte achten Sie außerdem darauf, dass das Plugin Cron in Ihrem Shopware-Backend aktiviert ist (Einstellungen / Plugin Manager).

  • Wählen Sie sich nun mit Ihren Zugangsdaten in LiveConfig ein.
  • Klicken Sie in der linken Navigation auf den Menüpunkt Cron-Jobs.
  • Betätigen Sie oberhalb den Button Neuer Cron-Job... Es öffnet sich ein Pop-up mit Konfigurationsmöglichkeiten.
  • Geben Sie nun oberhalb folgenden Befehl ein: cd /var/www/IhrHosting/htdocs/IhrShopverzeichnis && php shopware.php /backend/cron
  • Von Shopware empfohlen ist ein Jobintervall von 5 bis 15 Minuten. In unserer Abbildung sehen Sie die Einstellungen für ein Intervall von 5 Minuten.
  • Bestätigen Sie Ihre Eingaben mit einen Klick auf den Button speichern. cron06 cron06

PrestaShop

Wichtige tägliche Aufgaben, wie zB. das Update der Wechselkurse, sind in PrestaShop vordefiniert und können per Mausklick durchgeführt werden. Doch was passiert, wenn man vergisst den Button zu klicken? Im Zweifelsfall berechnen Sie Ihren Kunden falsche Preise.

Auch hier kann ein Cron-Job Abhilfe schaffen.

  • Wählen Sie sich zunächst in Ihr PrestaShop-Backoffice ein.
  • Navigieren Sie über das Menü nach Lokalisierungen / Währungen.
  • In diesem Bereich finden Sie unterhalb einen Link, den Sie sich nun kopieren sollten.
    cron07 cron07
  • Wählen Sie sich nun mit Ihren Zugangsdaten in LiveConfig ein.
  • Klicken Sie in der linken Navigation auf den Menüpunkt Cron-Jobs.
  • Betätigen Sie oberhalb den Button Neuer Cron-Job…. Es öffnet sich ein Pop-up mit Konfigurationsmöglichkeiten.
  • Geben Sie nun oberhalb folgenden Befehl ein:
    /usr/bin/wget -O /dev/null -q  "http://www.example.com/adminXXX/cron_currency_rates.php?secure_key=d1fxxx"
    Bitte verwenden Sie hier nur die zuvor kopierte URL aus Ihrem PrestaShop-Backoffice!
  • In unserem Cron-Job-Beispiel wird dieser zu jeder vollen Stunde ausgeführt.
  • Bestätigen Sie Ihre Eingaben mit einen Klick auf den Button speichern.
    cron08 cron08

Magento

Magento bringt bereits eine Reihe fertiger Cron-Jobs (z.B. für den Newsletterversand, das Generieren der Google-Siremap, die Log-Bereinigung usw.) mit. Diese müssen nur noch durch das Cron-Skript aktiviert werden.

  • Wählen Sie sich nun mit Ihren Zugangsdaten in LiveConfig ein.
  • Klicken Sie in der linken Navigation auf den Menüpunkt Cron-Jobs.
  • Betätigen Sie oberhalb den Button Neuer Cron-Job…. Es öffnet sich ein Pop-up mit Konfigurationsmöglichkeiten.
  • Sofern die Ihr Magento über den App-Installer angelegt haben, geben Sie nun oberhalb folgenden Befehl ein: /bin/bash /var/www/IhrHosting/apps/IhrShopverzeichnis/cron.sh. Für manuell installierte Shops: /bin/bash /var/www/IhrHosting/htdocs/IhrShopverzeichnis/cron.sh
  • Für einen mittelgroßen Shop hat sich ein Jobintervall von 5 Minuten als gut erwiesen. Nehmen Sie daher alle weiteren Einstellungen wie in unserer Abbildung vor.
  • Bestätigen Sie Ihre Eingaben mit einen Klick auf den Button speichern.

cron05 cron05

Bitte beachten Sie: Die Pfade zum Cron-Skript unterscheiden sich bei den Versionen Magento1 und 2!

Version Befehl
Magento 1: /bin/bash /var/www/IhrHosting/htdocs/IhrShopverzeichnis/cron.sh
Magento 2: /bin/bash /var/www/IhrHosting/htdocs/IhrShopverzeichnis/bin/magento -- --quiet cron:run

Wenn Sie hierbei Unterstützung benötigen, kontaktieren Sie gerne unseren Support.