Cronjobs für Drupal bei Host Europe erstellen


By rakekniven - Posted on 27 February 2009

Für das regelmäßige Erledigen von Aufgaben bringt Drupal die Datei "cron.php" mit. Um diese Datei auszuführen, kann man sich entweder an Drupal anmelden und unter "Verwalten > Berichte > Statusbericht" die Cron-Wartungsaufgaben manuell ausführen oder man ruft im Browser "http://mydomain/drupalinstall/cron.php" auf. Diese beiden Schritte passieren beide manuell und sind somit unbrauchbar auf Dauer. Besser ist das automatische ausführen von "cron.php" zu regelmäßigen Zeiten. Dazu gibt es cron. Bei Host Europe gibt es im Paket "WebPack Pro MAX" die Möglichkeit eigene Cronjobs anzulegen. Dieses Paket hat Linux als Grundlage, d.h. die folgenden Sätze haben keine Gültigkeit für Windows-Rechner. Die eigenen Cronjobs bieten die Möglichkeit Befehle ausführen zu lassen, diese Befehle haben als Basis immer den eigenen Root-Ordner als Grundlage. Man kann also nicht einfach "wget <pfad>/cron.php" angeben. Nach längerem Herumprobieren habe ich schließlich ein Shell-Skript angelegt mit Namen "mycron.php". Der Inhalt von mycron.php:
#!/bin/sh
cd <pfad-zu-root-auf-server>
/usr/bin/wget -q http://mydomain/drupalinstall/cron.php
rm cron.php*
Nun wird zu den definierten Zeiten in den Root-Ordner meiner Domain gewechselt. Danach via wget die cron-Datei aufgerufen und das Ergebnis heruntergeladen. Das Ergebnis wird nicht benötigt und somit gleich wieder entfernt. Falls man keine Möglichkeit hat, bei seinem Hostingangebot eigene Cronjobs anzulegen, dann gibt auch noch eine Drupal-Modul namens "Poormanscron". Dieses cron "für Arme" nutzt die Seitenaufrufe der Benutzer um die cron-Wartungsaufgaben zu erledigen. Nachteile sind:
  • Wartungsaufgaben werden nicht regelmäßig ausgeführt
  • Der Besucher, der nach einem Cron-Aufruf die Seite aufsucht, kann unter Umständen schlechte Performance bekommen.
Falls Ihr Euch gerade fragt, was denn alles regelmäßig auf Deiner Internetseite passieren soll:
  • Prüfung auf Updates (wichtig)
  • Versenden von Newslettern (z.B. via simplenews)
Links:
interesting article
geht auch einfacher mit [quote] wget -q http://www.heise.de -O /dev/null [quote] dann gehts gleich ins nirvana :)
Coole Sache. Danke für den Tipp.

Hi.

Habe dein Tutorial ausprobiert, bin allerdings auf ein, zwei Probleme gestoßen. Auf Basis deines Tutorials habe ich noch eins geschrieben.

http://allroundadmin.wordpress.com/2011/06/08/cronjob-bei-hosteurope-fur-drupal-6-einrichten/

 

Sehr schön. Das ist echt nützlich

Warum kann man bei Hosteurope die cron.php nicht direkt ansteuern via cronjob config? Warum muss da ein Shell Skript geschrieben werden. Die Info fehlt leider in Deinem Beitrag...

Der Beitrag ist schon ein paar Jahre alt und ich habe keinen Zugriff mehr auf das Hosting-Angebot.

Vielleicht geht das in der Zwischenzeit?
Kann jemand noch etwas dazu sagen?