Syntax while using crontab -e
* * * * * auszuführender Befehl
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ └──── Wochentag (0-7, Sonntag ist 0 oder 7)
│ │ │ └────── Monat (1-12)
│ │ └──────── Tag (1-31)
│ └────────── Stunde (0-23)
└──────────── Minute (0-59)
1 2 3 4 5 Befehl
1 = Minute (0-59)
2 = Stunde (0-23)
3 = Tag (0-31)
4 = Monat (1-12)
5 = Wochentag (0-7, Sonntag ist 0 oder 7)
Befehl = Der auszuführende Befehl.
* any value
, value list separator
- range of values
/ step values
@yearly (non-standard)
@annually (non-standard)
@monthly (non-standard)
@weekly (non-standard)
@daily (non-standard)
@hourly (non-standard)
@reboot (non-standard)
file of crontab -e
Du findest die Dateien, die du mit dem Kommando `crontab -e` bearbeiten kannst, unter /var/spool/cron/ bzw. /var/spool/cron/crontabs/
edit /etc/crontab file, the syntax is different than crontab -e
1 2 3 4 5 Benutzer Befehl
1 = Minute (0-59)
2 = Stunde (0-23)
3 = Tag (0-31)
4 = Monat (1-12)
5 = Wochentag (0-7, Sonntag ist 0 oder 7)
Benutzer = Benutzername des Benutzers, unter dem der Befehl ausgeführt wird.
Befehl = Der auszuführende Befehl.
Examples
Cronjob Beispiele
Um zum Beispiel jede Nacht um 5 Uhr morgens das Backup auszuführen, würde man den Cronjob folgendermaßen anlegen:
0 5 * * * /usr/bin/backup.sh
Einen Sound alle 10 Minuten Abzuspielen könnte wie folgt aussehen:
*/10 * * * * /usr/bin/play_sound.sh
Eine Erinnerungsmail um 8 und um 17 Uhr zu verschicken geht z.B. so:
0 8,17 * * * /usr/bin/send_reminder_mail.sh
An einem bestimmten Tag, beispielsweisse am 31.12. um 23:59 Uhr, eine Mail zu versenden, könnte so aussehen:
59 23 31 12 * (echo "Lass uns die Raketen holen" | mail -s "Gleich knallt es" user@domain.xy)
0 8,17 * * * /usr/bin/script.sh >>/var/log/cron/script_$(date +\%Y\%m\%d).log
Beispiel for /etc/crontab
0 8,17 root /usr/bin/script.sh >>/var/log/cron/send_reminder_mail 2>&1
0 3 wwwrun /usr/bin/webjobs_nighly.sh >>/var/log/cron/send_reminder_mail 2>&1
extension usage
Eine weitere Möglichkeit Cronjobs anzulegen sind die Verzeichnisse unter /etc/cron*, in denen alle enthaltenen Dateien zum bestimmten Zeitpunkt ausgeführt werden. Die Dateien im Einzelnen
/etc/cron.d/ = Erweiterungen zur /etc/crontab-Datei, gleiche Syntax.
/etc/cron.daily/ = Einmal irgendwann täglich.
/etc/cron.hourly/ = Einmal irgendwann stündlich.
/etc/cron.monthly/ = Einmal irgendwann monatlich.
/etc/cron.weekly/ = Einmal irgendwann wöchentlich.