Shopware Cronjobs
Inhaltsverzeichnis
- 1 Was ist ein Cronjob?
- 1.1 Unterschiede beim Versionswechsel 3.5.x
- 1.2 Was ist mit Windows-Servern?
- 2 Wie starte ich einen Cronjob?
- 2.1 Cronjob per Browser starten
- 2.2 Aufruf per Shell / Konsole
- 2.3 Cronjob Einrichten
- 2.4 Crontab Einrichten
- 3 Konfiguration in Shopware
- 3.1 Notwenige Plugins Installieren und Aktivieren
- 3.2 Die Cronjob-Steuerung im Detail
- 4 Wenn es nicht klappt
- 4.1 Schnelltest
- 4.2 Rechte
- 4.3 Mailfunktionen
Was ist ein Cronjob?
Der Cronjob ist eine Steuerung von Unix Betriebssystemen, um wiederkehrende Aufgaben automatisch zu einer bestimmten Zeit oder in Intervallen auszuführen. Shopware besitzt eine Reihe von Aufgaben, die regelmäßig ausgeführt werden können.
Dazu gehört unter anderem die Prüfung des Lagerbestands, um den Shopbetreiber auf Bestandsengpässe hinzuweisen, oder das Verschicken von Geburtstagsgrüßen oder Newsletter an die Kunden und Geschäftspartner. Shopware bietet dazu zwei verschiedene Grund-Cronjobs, die Sie einzeln oder zusammen zu gleichen oder unterschiedlichen Zeiten / Intervallen ansprechen können. In der aktuellen Version liegt der Unterschied im Controller, den Sie im Verlauf leicht erkennen werden.
Unterschiede beim Versionswechsel 3.5.x
Im Grunde unterstützen beide Versionen Cronjobs. Lediglich der Aufruf der Steuer- bzw. Cronjob-Dateien erfolgt mit unterschiedlichen Pfaden bzw. Parametern. Hier beide Varianten im Vergleich:
bis Shopware 3.0.5.1
/engine/connectors/api/cronjob/shopware.php /engine/core/php/campaigns.php
ab Shopware 3.5.x
/shopware.php?module=backend&controller=cron /shopware.php?module=backend&controller=newsletter
Was ist mit Windows-Servern?
Windows Server kennen keine Cronjobs. Allerdings gibt es unter Windows so genannte Tasks, also wiederkehrende Aufgaben. Ab Windows Vista nennen sich die Tasks deshalb auch Aufgabenplanungen. Dort können Sie z.B. den Internet Explorer zyklisch starten lassen und eine URL ansurfen lassen.
Die URL ist im Grunde genommen der Pfad zur Datei wie oben beschrieben. Es fehlt lediglich Ihre Shop-Domäne davor. Die URL setzen Sie in der Aufgabenplanung je nach System einfach in die Eingabezeile zur ausführenden Applikation oder in die Parameter-Eingabezeile (ab Windows 7).
Wie starte ich einen Cronjob?
Da gibt es gleich mehrere Möglichkeiten. Nicht alle können Sie nutzen. Die Verwendung von Cronjobs ist Provider-gebunden. Das bedeutet, Sie sind auf dessen Vorgaben angewiesen. Im Zweifelsfall kontaktieren Sie vorher Ihren Provider.
Cronjob per Browser starten
Um den Cronjob mal eben zu testen oder unter Windows-Umgebungen per Aufgabenplanung regelmäßig auszuführen, geben Sie im Browser die URL Ihres Shops ein, gefolgt von dem o.g. Pfad zur Steuerdatei:
http://www.meinshop.de/shopware.php?module=backend&controller=cron http://www.meinshop.de/shopware.php?module=backend&controller=newsletter
Die Ausführung erfolgt dann direkt und das Ergebnis ist im Browser als Text zu lesen. Bitte beachten Sie, dass es einige Cronjobs gibt, die evtl. über die erlaubte Verbindungszeit oder die erlaubte Script-Laufzeit hinauslaufen. In solchen Fällen können Sie die Cronjob-Aufgaben reduzieren, der Hoster/Provider die Ausführungszeit erhöhen, oder der Cronjob muss per Shell/Konsole ausgeführt werden.
Aufruf per Shell / Konsole
Innerhalb der Shell gibt es keine Begrenzungen was die Script-Laufzeit betrifft. Da hierbei auch keine Verbindung per Browser benötigt wird, können die Cronjobs idealerweise per Shell oder Konsolenbefehl gestartet werden. In der Verwaltungsoberfläche Ihres Providers finden Sie dazu passende Einstellungen. Ihr Provider hilft Ihnen ebenfalls beim Einrichten weiter.
Cronjob Einrichten
Standard Cronjob:
php5 /pfad/zu/shopware.php backend/cron
Alternativ:
php5 /var/www/shopware.php module=backend controller=cron
Newsletter / Campaings:
php5 /pfad/zu/shopware.php backend/newsletter
Alternativ:
php5 /var/www/shopware.php module=backend controller=newsletter
Wir empfehlen hier eine Einstellung zu wählen, die die Datei alle 10-15 Minuten ausführt. Um herauszufinden, welcher PHP-Interpreter verwendet wird, können Sie auf der Kommandozeile »which php5« eingeben.
Bei einigen Hostern (z.B. Host-Europe) können Sie den Cronjob so nicht aufrufen, hier legen Sie eine Datei (z.B. cron.php) in das Root-Verzeichnis und verwenden eines der folgenden Bespiele.
Mögliche Beispiele: Den notwendigen Interpreter-Aufruf (#!/../../php5) erfahren Sie auch bei Ihrem Provider.
#!/usr/bin/php <?php echo file_get_contents('http://www.meinshop.de/shopware.php?module=backend&controller=cron');
#!/usr/bin/php <?php wget -q http://www.meinshop.de/shopware.php?module=backend&controller=cron
#!/usr/bin/php <?php */15 * * * * wget -q http://www.meinshop.de/shopware.php?module=backend&controller=cron
Speichern Sie die Datei im Format »ASCII« ab. Setzen Sie die Dateirechte der Datei auf 755.
Crontab Einrichten
Verbinden Sie sich zur Konsole des Servers, den Sie einsetzen. Um auf die Cronjobs des Betriebssystems zuzugreifen, führen Sie den Unix-Befehl crontab -e aus und starten Sie so die Console:
Konfiguration in Shopware
Grundsätzlich ist Shopware noch nicht für die Verwendung von Cron-Funktionen eingerichtet. Notwenige Plugins sind nicht mit der Installation aktiviert. Wenn Sie die Cron-Funktionalitäten verwenden möchten, so installieren Sie nun die erforderlichen Komponenten.
Notwenige Plugins Installieren und Aktivieren
Im Backend unter Einstellungen => Plugins ist es zwingend erforderlich, alle notwendigen Plugins zu installieren und zu aktivieren. Suchen Sie in der Pluginliste nach "cron". Sie finden mehrere Einträge. Aktivieren Sie die Plugins »CRON« für die normale Abarbeitung der wesentlichen Funktionen und optional die Plugins »CronStock«, »CronRefresh«, »CronRating«, »CronBirthday« um zusätziche Funktionen zu erhalten. Bitte beachten Sie dabei, je mehr Sie an zusätzlichen Cron-Aufgaben einbetten, umso länger dauert auch die Abarbeitung. Das wiederrum führt dazu, dass gerade beim Cronaufruf per Browser u. U. nicht alles abgearbeitet werden kann.
Die Cronjob-Steuerung im Detail
Jede einzelne Aufgabe kann in den Grundeinstellungen => Cronjobs => Bereinigung => Cronjobs konfiguriert werden.
Beschreibung der Felder:
| Feld | Beschreibung |
|---|---|
| Name | Name des Cronjobs(Funktion) |
| Action | Funktion im Cronjob |
| Data | Informationen aus der Funktion |
| Nächste Ausführung | Datum der nächsten Ausführung des Cronjobs |
| Interval | Gibt den Intervall in Sekunden an, wann die Funktion als nächstes aufgerufen wird |
| Aktiv | Schaltet die Funktion An(1) oder Aus(0) |
| eMail Template | Optional verwendetes eMail-Template |
| Empfänger eMail-Adresse | Gibt dem Empfänger eventuell in der Funktion zu verschickende eMails an |
WICHTIG: Einige dieser aufgeführten Cronjobs werden nur im Zusammenhang mit dem CronRefresh ausgeführt. Weitere Informationen dazu finden Sie hier.
Tipp: Sie können mit den Cronjobs "Newsletter" und die "Datenbereinigung" an dieser Stelle auch per Klick ausführen.
Wenn es nicht klappt
Schnelltest
Sie können den Cronjob für die Datenbereinigung im Backend unter Einstellungen => Grundeinstellungen => Cronjobs auch per Klick ausführen. Sie sollten dann eine eMail mit einem Protokoll erhalten. Falls die eMail nicht bei Ihnen ankommt, ist entweder der eMail-Weg gestört (Spamordner?) oder die Mail-Funktion bei Ihrem Hoster / Provider ist nicht eingerichtet.
Rechte
Bei Unix / Linux-Servern hat der Cronjob (also die Datei für den Cronjob) in der Regel nach dem Erstellen noch keine ausreichenden Rechte zum Ausführen. Setzen Sie daher die Rechte auf mindestens 755.
Mailfunktionen
Normalerweise funktioniert die »mail()«-Funktion auf allen Linux-basierenden Systemen direkt ohne weitere Konfiguration. Unter Windows-Servern gibt es diese Funktion nicht. Daher müssen bei Windows-Servern speziell noch weitere Schritte unternommen werden.
Richten Sie im Backend unter Einstellungen => Grundeinstellungen => System und Basiskonfiguration => Mailer einen Mailserver ein, den Sie ansprechen können. Als Methode tragen Sie "smtp" ein. Ab jetzt sucht der Shopware-Server nach dem unter SMTP Host eingetragenen Server. Mit dem SMTP-Username und dem SMTP password authentifizieren Sie sich dort. Fragen Sie bei Ihrem Mail-Provider nach, ob dort eine Plain, Login oder die verschlüsselte CramMD5-Methode zur Übertragung der Zugangsdaten erforderlich ist.
Artikel-PDF erstellen
Artikel bewerten
Weitere interessante Artikel:
Kategorien:
Bestell-Nr.: 63772__5879
Lieferzeit ca. 5 Tage
Preise inkl. gesetzlicher
MwSt. zzgl. Versandkosten*
Preise inkl. gesetzlicher
MwSt. + Versandkosten*

