Übersicht über automatisierte Cron-Aufgaben
Die Einrichtung von Cron ist ein wichtiger Schritt bei der Installation einer Website und hilft bei der Wartung der Website-Ressourcen für Suchindizes, der Überprüfung von Core- und Modul-Updates und dem Entfernen temporärer Dateien.
Ein korrekt eingerichteter Cron-Job verwaltet viele Aufgaben:
- Aktualisiert den Inhaltsindex der Website, der vom Suchmodul verwendet wird.
- Füttert die Warteschlangen, die vom Aggregator-Modul aktualisiert werden.
- Prüft auf verfügbare Updates für das Update-Manager-Modul.
- Führt routinemäßige Wartungsaufgaben wie das Löschen alter Einträge aus den Logs für das Systemmodul durch.
Was ist Cron?
Cron ist ein Daemon, der Befehle in definierten Intervallen ausführt. Diese Befehle werden „Cron-Jobs“ genannt. Cron ist auf Unix-, Linux- und Mac-Servern verfügbar. Windows-Server verwenden Geplante Aufgaben, um Befehle auszuführen. Ein tatsächlicher „Cron-Job“ ist eine zeitgesteuerte Aktion, die üblicherweise (und am effektivsten) vom Hosting-Server Ihrer Website ausgeführt wird, aber auch von einem entfernten Server oder sogar von Ihrem eigenen Desktop aus konfiguriert werden kann.
Im Wesentlichen besucht der Cron-Job die Datei cron.php auf Ihrer Website über eine URL wie http://www.example.com/cron.php?cron_key=0MgWtfB33FYbbQ5UAC3L0LL3RC0PT3RNUBZILLA0Nf1Re. Die genaue Adresse der cron.php-Datei finden Sie im Statusbericht unter Verwaltung > Berichte > Statusbericht (admin/reports/status) im Abschnitt Wartungsaufgaben Cron.
Cron aktivieren
Die einfachste Methode ist, Drupal dies automatisch für Sie erledigen zu lassen (was standardmäßig geschieht) mittels des integrierten „Automated Cron“. Sie können „Automated Cron“ unter Verwaltung > Konfiguration > System > Cron (admin/config/system/cron) verwalten. Die Standardfrequenz ist alle drei Stunden. Danach wird Cron von den Besuchern Ihrer Website höchstens alle drei Stunden ausgelöst. Beachten Sie, dass bei Websites mit geringem Traffic das Anlegen eines Cron-Jobs sinnvoll sein kann. Wenn Sie den automatischen Cron deaktivieren möchten, stellen Sie das Dropdown „Cron alle ausführen“ auf „Nie“.
Das automatisierte Cron-System ist mit allen Systemen kompatibel, da es den systemeigenen Cron-Daemon nicht verwendet. Stattdessen prüft es am Ende jeder Drupal-Anfrage, wann Cron zuletzt ausgeführt wurde, und falls dies zu lange her ist, verarbeitet es die Cron-Aufgaben als Teil dieser Anfrage. Zwei Nachteile: (1) Cron-Aufgaben werden nur ausgeführt, wenn Drupal Anfragen verarbeitet; und (2) die Last (Verarbeitung und Speicher) der Cron-Aufgaben wird zu einer beliebigen, unbestimmten Seitenanfrage hinzugefügt, was diese Anfragen verlangsamen und bei komplexen Websites eventuell Speicherlimits überschreiten kann.
Die zweite Methode (die für jede Drupal-Version gilt) ist, einen Cron-Job einzurichten oder eine andere externe (außerhalb von Drupal) Methode zur Ausführung von Cron-Aufgaben zu verwenden, wie z. B. einen externen Cron-Service wie EasyCron oder Cronless. Diese Methode ist zuverlässiger (da sie immer zum geplanten Zeitpunkt ausgeführt wird) und ressourcenschonender (weil die Cron-Verarbeitung nicht zur Seitenanfrage hinzugefügt wird). Daher ist dies im Allgemeinen die bevorzugte Methode zur Ausführung von Cron, wenn Sie die Wahl haben. Beachten Sie, dass Sie die Drupal-Cron-Systemfunktion vollständig deaktivieren können, wenn Sie einen externen Cron-Job einrichten.
Deaktivieren des „Automated Cron“
Aus Leistungsgründen oder wenn Cron nur durch externe Trigger ausgeführt werden soll, ist es möglicherweise wünschenswert, das automatisierte Cron-System zu deaktivieren.
Sie können es deaktivieren, indem Sie den Parameter „Cron alle ausführen“ auf „Nie“ setzen (z. B. unter Verwaltung > Konfiguration > System > Cron (admin/config/system/cron)).
Eine andere Möglichkeit, Cron in Drupal 8 zu deaktivieren, besteht darin, folgende Zeile in die Datei settings.php einzufügen:
$config['automated_cron.settings']['interval'] = 0;
Beachten Sie, dass dies die Einstellung admin/config/system/cron auf „Nie“ festlegt und Administratoren diese Einstellung nicht überschreiben können.
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.