Cron-Jobs – Beispiele

Nachfolgend möchten wir Ihnen einige Beispiele zur Verwendung von Cron-Jobs anhand verschiedener verwendeter CMS oder Shop-Systeme aufzeigen. Die aufgeführten Beispiel-Pfade müssen Sie natürlich noch an Ihren Hosting-Account und Installations-Pfad anpassen.

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 Hosting-Server einen entsprechenden Dienst anbietet. Selbstverständlich ist dies bei allen unseren Systemen der Fall. Um dies zu bewerkstelligen, ist eine Anpassung der Datei “wp-config.php“ nötig. Diese finden Sie im Hauptordner Iher 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 im Kundeninterface 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 Popup 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 einen halbstündlichen Jobintervall. Nehmen Sie daher alle weiteren Einstellungen wie in unserer Abbildung vor.
  • Bestätigen Sie Ihre Eingaben mit einen Klick auf den Button “speichern“.

Magento

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

  • Wählen Sie sich nun mit Ihren Zugangsdaten im Kundeninterface 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 Popup mit Konfigurationsmöglichkeiten.
  • Sofern Sie 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“.

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

^ 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 |

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 im Kundeninterface 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 Popup 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“.

Gambio

Im Gambio-Shop gibt es die Möglichkeit, bestimmte wiederkehrende Aufgaben einzurichten, z.B. für den Export von CSV-Dateien oder für die zeitgesteuerten Aufgaben. Die dafür jeweils gültige CronJob-URL wird auf der jeweiligen Seite im Gambio Admin angezeigt.

  • Wählen Sie sich nun mit Ihren Zugangsdaten im Kundeninterface 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 Popup mit Konfigurationsmöglichkeiten.
  • Geben Sie nun oberhalb den von Gambio ermittelten Befehl ein. Diesen finden Sie im jeweiligen Menü Punkt im Gambio Admin unter Cronjob-URL.
    Bitte beachten Sie das Format Ihrer Eingabe, /usr/bin/wget -O/dev/null -q „##Gambio ermittelten Befehl##“ &>/dev/null
    Beispiel Artikelexport: /usr/bin/wget -O/dev/null -q „https://www.example.com/request_port.php?module=CSV&action=export&token=951b6f3e12a59b918c810851383bfab7“ &>/dev/null
    (ACHTUNG: Artikelexport im Gambio Admin: Hier ist der Button „CronJob-URL anzeigen“ nur sichtbar, wenn im Export zuvor ausgewählt wurde, dass ein automatischer Export erfolgen soll.)
  • Geben Sie den gewünschten Jobintervall ein. In unserer Abbildung sehen Sie die Einstellungen für ein Intervall von alle 24 Stunden.
  • Bestätigen Sie Ihre Eingaben mit einen Klick auf den Button “speichern“.