Linux Crontab
2011-05-07

Linux,cron,DE

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

Comment++

E-Mail Adresse wird nicht veröffentlicht.
E-mail address will not be published.