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 Stunde | 0 * * * * |
| alle 3 Stunden | 0 */3 * * * |
| Stundenbereich | 0 9-17 * * * |
| stündlich außer Bürozeiten | 0 0-8,19-23 * * * |
| täglich | 0 0 * * * |
| jede Nacht um 2 Uhr morgens | 0 2 * * * |
| jeden Sonntag | 0 0 * * * sun oder 0 0 * * 0 |
| Mittwoch bis Freitag | 0 0 * * * 3-5 |
| nur am Wochenende | 0 0 * * * 6,0 |
| einmal pro Woche am Sonntag | 0 0 * * 0 |
| jeden Monat | 0 0 1 * * * |
| vierteljährlich am Ersten des Monats um 6:30 Uhr | 30 6 1 */3 * |
| jedes Jahr | 0 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:
# 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.phpSo übergibst du einem PHP-Skript GET-Parameter (vergiss dabei nicht, das Skript mit dem -f-Parameter aufzurufen):
$ php -f /var/www/web999/files/cron.php cache=1Du kannst natürlich auch herkömmliche Parameter an ein Skript übergeben, hier ein Beispiel für den alten Typo3-Scheduler:
$ php /var/www/web999/public_html/www/public/typo3/cli_dispatch.phpsh schedulerSoll 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):
$ wget -q -O - http://www.example.com/cron.php > /dev/nullEmpfohlene Cronjob-commands für das Task-Scheduling gängiger CMS/Frameworks:
Laravel
* * * * * cd /var/www/web999/public_html/www/current &&
php artisan schedule:run >> /dev/null 2>&1Wordpress
* * * * * wget -q -O - https://<domain>/wp-cron.php >/dev/null 2>&1