Cronjobs sind Prozesse die Zeitgesteuert aufgerufen werden. Mit automatisierten Skripten man sich das Leben leicht machen ohne dabei einen einzigen Knopf zu drücken.
Automatisierung per Cronjobs
Die Idee am Cronjob ist es, Programme zu schreiben die eine Spezielle Aufgabe erfüllen und dies Automatisiert durch eine Zeitsteuerung. Leicht umzusetzen ist dies bei Skripten die bereits existieren. In Shopware 5 und 6 gibt es z.B. ein Skript, dass den Cache leeren kann. Zusätzlich gibt es auch einen Befehl der den Cache wieder aufwärmt. Verbinden wir diese Befehle miteinander erhalten wir ein neues Programm. Man sollte dabei auch in Betracht ziehen, dass das neu geschaffene Programm wieder Teil eines weiteren Programms sein kann. Wir arbeiten hier also mit der Unix-Philosophie.
# Cache leeren
bin/console cache:clear
# Cache aufwärmen
bin/console cache:warmup
bin/console http:cache.warm:up
Dieses Programm kann nun den Shopware 6 Cache leeren und wärmt diesen wieder auf. Gerade das aufwärmen der Caches kann eine gewisse Zeit in Anspruch nehmen. Während dieser Zeit ist Ihr Shop aufgrund des Fehlenden Caches langsamer als normal. Darum ist es sinnvoll, dass dieses Skript nur nachts ausgeführt wird.
Konfiguration eines Cronjobs
Unser Webhosting
Unser neues Skript liegt im Ordner Skript und hat den Namen cache-neu-aufbauen.sh erhalten. Im Hosting müssen wir nun ein Ziel angeben wo sich unser Programm / Skript befindet. Eine Bemerkung anzugeben ist sehr sinnvoll, damit auch noch nach einigen Jahren klar ist, was dieser Cronjob tut. Im Tab Ausführung können wir dann nun das Intervall bestimmen. Von täglich bis nur im April am Donnerstag um 19:00uhr ist hier alles möglich. Wenn Sie Hilfe beim Webhosting benötigen sagen Sie uns Bescheid!
Root Server
In der Datei /etc/crontab konfiguriere ich die Cronjobs. Ich habe die Konfiguration farblich unterstrichen, damit man erkennen kann wie genau das Schema der Konfiguration ist. Orange ist der Betriebssystem Benutzer der den Befehl ausführen soll. Rot unterstrichen ist der Befehl der ausgeführt werden soll, wenn das Intervall zutrifft. In diesem Fall wird Jeden Montag um 07:30 Uhr in das Benutzer Verzeichnis vom User dev eine Log-Datei angelegt mit dem Text: Is it Monday 07:30??.
Sollte für Ihren Automatisierungswunsch nicht das richtige Programm vorliegen kümmern wir uns gerne darum. Auch mit Shopware Import Skripten haben wir bereits Erfahrung. Kontaktieren sie uns doch unter: support@web-piloten.de