Drupal Cronjob einrichten

Der so genannte Cronjob ist eine php Datei (cron.php) die dafür da ist, regelmäßige Aufgaben für Drupal auszuführen. Der Cronjob wird meist durch ein kleines Serverskript (crontab) regelmäßig aufgerufen.

Typische Aufgaben die bei jedem Aufruf erledigt werden sind zum Beispiel: Aufbau des Suchindex für die Drupal Suche, abrufen der Informationen über Updates, usw.

Cronjob mit Poormanscron einrichten

Eine einfachste Möglichkeit einen Cronjob einzurichten, ist das Modul Poormanscron. Hier wird der Cronjob durch einen normalen Seitenaufruf im Browser gestartet. Um Einbußen bei der Performance zu minimieren, wird der Cronjob per Javascript nach dem Seitenaufruf durch den Nutzer gestartet. Der Nutzer merkt als nichts davon.

Auf der Konfigurationsseite des Moduls lässt sich einstellen wie oft der Cronjob ausgeführt werden soll.

Cronjob auf dem Server einrichten (Experten)

Wenn man mit der Console direkt auf dem Server arbeitet, lässt sich der Cronjob über folgendes Kommando einrichten.

crontab -e

Danach trägt man z.B. EINES der Folgenden ein um den Cronjob alle 45 Minuten aufzurufen.

45 * * * *  /usr/bin/lynx -source http://deineDomain.de/cron.php

45 * * * * /usr/bin/wget -O - -q -t 1 http://deineDomain.de/cron.php

45 * * * * curl --silent --compressed http://deineDomain.de/cron.php

Beispiel mit curl und Erklärung

# +---------------- Minute (0 - 59)
# |  +------------- Stunde (0 - 23)
# |  |  +---------- Tag des Monats (1 - 31)
# |  |  |  +------- Monat (1 - 12)
# |  |  |  |  +---- Tag der Woche (0 - 7)
# |  |  |  |  |
  *  *  *  *  *  curl --silent --compressed http://deineDomain.de/cron.php

Kommentare

Hallo, "45 * * * *

Hallo,
"45 * * * * /usr/bin/lynx -source http://deineDomain.de/cron.php"
das bedeutet, cron.php wird um x:45 aufgerufen. (z.B. 0:45, 1:45 ...)

"*/45 * * * * /usr/bin/lynx -source http://deineDomain.de/cron.php"
so wird cron.php alle 45 Minuten einmal aufgerufen.

Gruß
Wang

Ich habe ein Problem mit

Ich habe ein Problem mit CRON.

Er läuft zwar, kann aber keine Dateien ins Bilderverzeichnis speichern.
Dort fehlen dem CRON die Rechte.

Ich habe dem Zielverzeichnis den User APACHE als owner zugewiesen, ohne Erfolg. Auch der User root nutzt nichts.

Wie bekomme ich cron dazu, dass er darf, was ein normaler user auch darf - Bilder ins files/ verzeichnis schreiben?

Kommentar verfassen

Der Inhalt dieses Feldes wird nicht öffentlich gezeigt.