Für Webhosting Linux-Pakete und Managed Dedicated Server

Cronjobs sind praktisch, wenn es um die Automatisierung wiederkehrender Aufgaben geht, können bei unsachgemäßer Verwendung aber auch die Funktion der Website beeinträchtigen. In diesem Artikel erfahren Sie, worauf Sie bei Erstellung und Ausführung von Cronjobs achten sollten.

Wenn Sie die folgenden Punkte berücksichtigen, sollte die problemlose Ausführung Ihrer Cronjobs gewährleistet sein:

  • Lassen Sie eine Mindestzeit von 5 Minuten verstreichen, bevor Sie einen Cronjob wiederholen. So vermeiden Sie, dass Ihre Cronjobs möglicherweise in Zeiten hoher Serverlast parallel und damit langsamer ausgeführt werden.

  • Fügen Sie in Ihre Crontab-Datei ganz oben immer ein MAILTO ein (z.B.: MAILTO=max.mustermann@example.com). Damit erhalten Sie die konkrete Fehlermeldung bequem per E-Mail.

  • Sie können über folgende Binärdateien ein PHP-Skript per Cron aufrufen:

    /usr/bin/php4.4 (/usr/bin/php und /usr/bin/php4 sind Symlinks)
    /usr/bin/php5.2 (/usr/bin/php5 ist ein Symlink)
    /usr/bin/php5.4
    /usr/bin/php5.5
    /usr/bin/php7.1
    /usr/bin/php7.2
    /usr/bin/php7.3
    /usr/bin/php7.4
    /usr/bin/php8.0
    /usr/bin/php8.1
    /usr/bin/php8.2

    Beispiel:

*/10 * * * * /usr/bin/php8.2 -f /homepages/12/d12345678/htdocs/test.php
  • Achten Sie darauf, den vollständigen (absoluten) Pfad zu Ihrem Skript anzugeben.
  • Bei PHP-Skripten, welche via Cronjob ausgeführt werden, wird eine hinterlegte php.ini nicht beachtet. Somit werden evtl. abgeänderte Variablen nicht gesetzt. Als Alternative können Sie das PHP-Skript mithilfe eines HTTP-Requests ausführen lassen:
*/10 * * * * /usr/bin/curl -s https://example.com/test.php > /dev/null

Falls das Skript in einem geschützen Verzeichnis liegt, müssen Sie mittels dem Parameter -u noch die Zugangsdaten übergeben.
Für Shared-Hosting-Pakete empfehlen, das Verzeichnis grundsätzlich mit einem Verzeichnisschutz zu schützen.

*/10 * * * /usr/bin/curl -s -u user:password https://example.com/test.php > /dev/null