Skip to content

Cronjobs

Mit einem Cronjob kannst du wiederkehrende Befehle zu einem bestimmten Zeitpunkt ausführen lassen.

TIP

Der Output deines Cronjob-Befehls wird per E-Mail an die bei uns als Webmaster eingetragene Adresse gesendet.

Frequenz (Zeitplan)

Ein Zeitplan wird im unix-cron-Stringformat definiert. Verwende die übliche Crontab-Schreibweise:

m h  dom mon dow
  • m Minute (minute)
  • h Stunde (hour)
  • dom Tag des Monats (day of month)
  • mon Monat (month)
  • dow Wochentag (day of week)

Gängige Beispiele:

Häufigkeit (Zeitplan)crontab Ausdruck
jede Minute* * * * *
jede gerade Minute*/2 * * * * *
alle 5 Minuten*/5 * * * *
jede Viertelstunde*/15 * * * *
jede Stunde0 * * * *
alle 3 Stunden0 */3 * * *
Stundenbereich0 9-17 * * *
stündlich außer Bürozeiten0 0-8,19-23 * * *
täglich0 0 * * *
jede Nacht um 2 Uhr morgens0 2 * * *
jeden Sonntag0 0 * * * sun oder 0 0 * * 0
Mittwoch bis Freitag0 0 * * * 3-5
nur am Wochenende0 0 * * * 6,0
einmal pro Woche am Sonntag0 0 * * 0
jeden Monat0 0 1 * * *
vierteljährlich am Ersten des Monats um 6:30 Uhr30 6 1 */3 *
jedes Jahr0 0 1 1 *

Weitere Beispiele für die Ausführungshäufigkeit findest du unter Wikipedia oder Crontab Guru examples.

Falls du mit der Crontab-Schreibweise nicht vertraut bist, verwende am besten einen Online-Crontab-Editor. Unsere Empfehlung: Cronitor crontab guru

Befehl

Das ist der vollständige Befehl bzw. das Skript, das ausgeführt werden soll. Wenn dein Skript eine korrekte Shebang-Line enthält und das Skript ausführbar ist (chmod u+x), kannst du es hier auch ohne Angabe des Interpreters eingeben.

Verwende immer den absoluten Pfad zu deinem eigenen Skript. Für System-Befehle (wie z.B. PHP-/Python-/Bash-Interpreter) wird kein absoluter Pfad benötigt.

Ein paar Beispiele mit identischem Effekt:

bash
# Skript explizit unter PHP 8.2 ausführen
php82 /var/www/web999/files/cron.php

# Skript mit der aktuellsten PHP-Version ausführen
php /var/www/web999/files/cron.php

# Angabe des Interpreters ist nicht nötig (Shebang-Line im Skript)
/var/www/web999/files/cron.php

# Dein files/ Verzeichnis befindet sich im $PATH
cron.php

So übergibst du einem PHP-Skript GET-Parameter (vergiss dabei nicht, das Skript mit dem -f-Parameter aufzurufen):

bash
$ php -f /var/www/web999/files/cron.php cache=1

Du kannst natürlich auch herkömmliche Parameter an ein Skript übergeben, hier ein Beispiel für den alten Typo3-Scheduler:

bash
$ php /var/www/web999/public_html/www/public/typo3/cli_dispatch.phpsh scheduler

Soll ein Skript über eine öffentliche URL aufgerufen werden (anstelle des direkten Aufrufs via PHP-Binary), verwende bevorzugt wget, eventuell mit zusätzlicher Umleitung der normalen Ausgabe (STDOUT) ins Nirvana (/dev/null):

bash
$ wget -q -O - http://www.example.com/cron.php > /dev/null

Empfohlene Cronjob-commands für das Task-Scheduling gängiger CMS/Frameworks:

Laravel

bash
* * * * *   cd /var/www/web999/public_html/www/current &&
  php artisan schedule:run >> /dev/null 2>&1

Wordpress

bash
* * * * *   wget -q -O - https://<domain>/wp-cron.php >/dev/null 2>&1