Ihre Mautic Formulare, Landingpages und Kampagnen-Emails funktionieren einwandfrei, aber trotzdem passiert nichts? Überprüfen Sie doch einmal, ob alle Cron Jobs korrekt gesetzt sind!
Cron ist ein zeitbasierter Job-Scheduler. Cron plant Jobs (Befehle oder Shell-Scripts) so, dass sie zu festgelegten Zeiten, Daten oder Intervallen ausgeführt werden.
Mautic benötigt diverse Cron Jobs, um Kontakte, Kampagnen und Kampagnen-Aktionen zu aktualisieren. Mautic verwendet außerdem optional Cron Jobs, um Emails zu senden und andere damit verbundene Aufgaben auszuführen.
Bei den meisten Web Hosts können Sie Cron Jobs hinzufügen, meist mit Hilfe von SSH, cPanel oder eines anderen individuellen Panels. Sollten Sie unsicher darüber sein, wie man Cron Jobs korrekt implementiert, setzen Sie sich bitte mit dem jeweiligen Host in Kontakt. Falls Cron Jobs oder Linux völlig neu für Sie sind, finden Sie hierfür bei der Apache Foundation einen hervorragende Anleitung.
Sie können frei entscheiden, wie oft Sie Cron Jobs nutzen. Beachten Sie aber: Viele Shared Hosts bevorzugen es, wenn die Scripts nur etwa alle 15 bis 30 Minuten ausgeführt werden. Teilweise müssen Sie sogar damit rechnen, dass der Host deswegen Ihre Einstellungen überschreibt. Sollten Ihnen solche Beschränkungen auffallen, kontaktieren Sie am besten Ihren Host direkt.
Es wird unbedingt empfohlen, dass Sie die Cron Jobs zeitlich gestaffelt ausführen lassen, damit nicht alle gleichzeitig stattfinden. Das kann das System überfordern.
Man könnte die Cron Jobs z.B. zeitlich wie folgt staffeln:
Updates für Segmente: php /path/to/mautic/app/console mautic:segments:update
Standardmäßig bearbeitet das Script Kontakte in Paketen von 300. Sollte sich dies als zu groß für die Kapazitäten des von Ihnen genutzten Servers herausstellen, benutzen Sie bitte folgenden Befehl: –batch-limit=X (Ersetzen Sie das X mit der Anzahl der Kontakte, die Sie pro Paket bearbeiten möchten.)
Bei Bedarf können Sie die Anzahl der verarbeiteten Kontakte pro Script auch weiter einschränken, indem sie den Befehl -–max-contacts nutzen.
Um Kampagnen mit dazugehörigen Kontakten regelmäßig zu aktualisieren, nutzen Sie folgenden Befehl:
php /path/to/mautic/app/console mautic:campaigns:rebuild
Standardmäßig bearbeitet das Script auch hier Kontakte in Paketen von 300. Hier gilt auch: Sollte sich dies als zu groß für die Kapazitäten des von Ihnen genutzten Servers herausstellen, benutzen Sie bitte folgenden Befehl: –Paket-limit=X (Ersetzen Sie das X mit der Anzahl der Kontakte, die pro Paket zu bearbeiten sind.)
Bei Bedarf können Sie die Anzahl der verarbeiteten Kontakte pro Script auch weiter einschränken, indem sie den Befehl -–max-contacts nutzen.
php /path/to/mautic/app/console mautic:campaigns:trigger
Standardmäßig bearbeitet das Script Kontakte in Paketen von 100. Sollte sich dies als zu groß für die Kapazitäten des von Ihnen genutzten Servers herausstellen, benutzen Sie bitte folgenden Befehl: –Paket-limit=X (Ersetzen Sie das X mit der Anzahl der Kontakte, die pro Paket zu bearbeiten sind.)
Darüber hinaus können Sie die der bearbeiteten Events pro Arbeitsgang auch einschränken, indem sie den Befehl -–max-contacts nutzen.
Nachrichten, die als „Marketing Messages“ markiert sind (beispielsweise Emails, die Teil einer Marketing-Kampagne sind), werden in eine Message Queue eingefügt. Um diese Queue zu starten und ggf. das Absenden der Nachrichten zu verzögern, sollten Sie den folgenden Cron Job zu ihrer Liste hinzufügen: mautic:messages:send
Beachten Sie: Das System kann die Nachrichten nur dann der Queue zuordnen, wenn Häufigkeitsregeln für das gesamte System oder für alle Kontakte gesetzt wurden.
Sollten Sie das System so konfiguriert haben, dass es die Emails im Dateisystem zwischenspeichert, benötigen Sie hierfür Cron Jobs:
Dieser Cron Job ist nur notwendig, wenn Sie das Bounce Management System benutzen:
Dieser Cron Job ist nur notwendig, wenn Sie Social Monitoring benutzen:
Sollte Mautic so eingestellt sein, dass es Webhooks in Paketen (Batches) versendet, dann benutzen Sie den folgenden Befehl, um die Payloads zu senden:
Mautic benutzt standardmäßig die MaxMind GeoLite2 IP Datenbank. Diese Datenbank ist lizenziert als „Creative Commons Attribution-ShareAlike 3.0 Unported License“. Darum kann sie nicht zusammen mit Mautic in einem Paket angeboten werden. Sie können die Datenbank manuell über das Mautic-Konfigurationmenü herunterladen.
Durch den folgenden Cron Job können Sie die Datenbank zudem automatisch auf neuestem Stand halten:
Sie können Ihre Mautic Instatallation aufräumen, indem Sie alte Daten löschen. Dies funktioniert nicht für alle Daten - unterstützt werden aber z.B.: Audit Logs Entries, Besucher (anonyme Kontakte) und Besucherzahlen per Seite. Verwenden Sie –dry-run, um zu sehen, welche und wie viele Daten gelöscht werden können.
Achtung: Durch diese Aktion werden die Daten endgültig gelöscht! Legen Sie darum immer Backups an.
Sie können Cron Jobs verwenden, um geplante Nachrichten zu senden.
Zur Zeit sind Emails das einzige zur Verfügung stehende Medium, um Nachrichten in Marketingkanälen zu versenden. Sie können theoretisch einen manuellen Befehl nutzen und dann mit geöffnetem Browserfenster darauf warten, dass Ajax die Daten übermittelt - oder einfach einen Cron Job nutzen.
Das einzige Manko besteht darin, dass die Emails veröffentlicht sein müssen und über ein Veröffentlichungsdatum verfügen müssen. Das ist wichtig, um das unbeabsichtigte Versenden von Emails zu verhindern.
Ebenso wie beim manuellen Vorgehen und bei Ajax-Prozessen, können Sie auch hier nur Kontakte kontaktieren, die bereits eine solche Nachricht von Ihnen bekommen haben. (Achtung: Der folgende Befehl wird auch Nachrichten an Kontakte senden, die erst später zu den Quell-Segmenten hinzugefügt werden. Wenn Sie dies nicht möchten, senden Sie bitte auch ein unpublish-Datum. )
Anmerkung: Für Mautic-Versionen, die älter sind als 1.1.3, ist es notwendig –env=prod an den Cron Job-Befehl anzuhängen, um sicherzustellen, dass der Befehl korrekt funktioniert
Parameter:
–batch=X : Legt fest,wie viele Emails auf einmal gesendet werden können. Dies kannn je nach Provider sehr unterschiedlich sein.
–channel=email : Legt fest, welcher Kanal verwendet werden soll. Wenn kein Kanal festgelegt wird, werden alle Kommunikationskanäle verwendet.
–id=X : Legt fest, welche ID der Email, SMS, etc. gesendet wird
–limit=X : Legt fest, wie viele Kontakte aus der Datenbank gezogen werden (Grundeinstellung: 100). So erhalten x Kontakte ihre Emails, wenn dieser Befehl ausgelöst wird. Das nächste Mal, wenn der Kontakt ausgeführt wird, sind es die nächsten x Kontakte usw.
–min-contact-id and –max-contact-id : Hiermit kann man den Email-Versand in kleinere Teile aufteilen, aufgeteilt nach Kontakt-ID-Bereichen. Wenn diese Bereiche sich nicht überlappen, können mehrere Broadcast-Befehle parallel ausgeführt werden.
–segment-id=X : X ist ein Filter. Nur Kontakte von Segment-ID = X erhalten die Email. Selbst wenn eine Email das Segment X und Y enthält, wird sie nur an Kontakte von Segment X gesendet.
Wenn Ihre Systemumgebung einen Kommandozeilen-spezifischen Build von PHP (oft php-cli) bereitstellt, könnem Sie diesen anstelle von PHP verwenden, da er eine sauberere Ausgabe hat. Auf Bluehost (und wahrscheinlich einigen anderen PHP-Hosts) könnte der php-Befehl allerdings so eingerichtet sein, dass er die Befehlszeilen-Parameter für die Konsole verwirft. In diesem Fall müssen Sie php-cli verwenden, damit die Cron Jobs funktionieren.
Um Cron Probleme zu analysieren, können Sie die Ausgabe jedes Cron Jobs in eine Datei leiten, indem Sie am Ende des Cron Jobs beispielsweise > /path/to/meineDatei.log 2> & 1 hinzufügen.
Dann können Sie sich den Inhalt dieser Datei ansehen. Wenn während der Ausführung des Cron Jobs ein Fehler auftritt, wird man dies dort sehen, anderenfalls ist die Datei leer oder enthält nur Statistiken.
Die Änderungszeit der Datei informiert Sie über die letzte Ausführung des Cron Jobs. So können Sie herausfinden, ob der Cron Job erfolgreich und planmäßig ausgeführt wird. Zusätzlich sollten Sie den nicht interaktiven Modus zusammen mit dem No-Ansi Modus aktivieren, wenn Sie Ihre Befehle mit cron ausführen. Auf diese Weise stellen Sie sicher, dass Sie korrekte Time Stamps in Ihrem Protokoll haben und die Ausgabe lesbarer ist.
Datei-Output (Beispiel):
$ php app/console mautic:segments:update --no-interaction --no-ansi
[2018-09-12 10:29:32] Rebuilding contacts for segment 1
[2018-09-12 10:29:32] 0 total contact(s) to be added in batches of 300
[2018-09-12 10:29:32] 0 total contact(s) to be removed in batches of 300
[2018-09-12 10:29:32] 0 contact(s) affected
Schulungen helfen Ihnen und Ihrem Team dabei Mautic optimal zu nutzen.
Wir unterstützen Sie bei Mautic. Von kurzfristiger Hilfe bis zur dauerhaften Begleitung Ihrer Mautic-Kampagnen: