Linux Crontab
2011-05-07 00:00:00
IN1
,
2023-04-10 14:16:27
IN1
Syntax
* * * * * "Befehl der ausgeführt werden soll"
| | | | |
| | | | +----- Wochentag (0 - 7) (Sonntag ist 0 und 7; oder Namen, siehe unten)
| | | +------- Monat (1 - 12)
| | +--------- Tag (1 - 31)
| +----------- Stunde (0 - 23)
+------------- Minute (0 - 59; oder Bezeichner - siehe unten)
Befehle in cronjobs immer mit absolutem Pfad angeben. Alternativ dazu können auch Variablen wie SHELL
und PATH
global in der crontab gesetzt werden. Auf jeden Fall muß sichergestellt sein dass der Befehl der ausgeführt werden soll im System gefunden werden kann.
Beispiel
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
* * * * * "Befehl der ausgeführt werden soll"
Beispiele
Einen einzelnen Request per wget anstoßen (kein Download durchführen).
Hierbei ist es auch wichtig tries=1
zu setzen, ansonsten startet der Aufruf erneut, falls timelimit erreicht ist
*/35 13-17 * * 1-5 /usr/bin/wget -q --delete-after -U mozilla --tries=1 --timeout=3600 http://example.com/
Lösche *.tar.gz Files, welche älter als 7 Tage sind
0 0 * * * /usr/bin/find ~/backups -name '*.tar.gz' -and -mtime +7 | xargs rm -f
Cronjob alle 30 Sekunden ausführen
Hierzu muss man lediglich das Script 2x anlegen, jedoch das eine Mal notiert mit sleep 30
(30 Sek Verzögerung)
* * * * * /path/to/script
* * * * * /bin/sleep 30; /path/to/script
Variable benutzen
FOO=qwerty
* * * * * echo $FOO > ~/out