Crontab
In der Datei crontab auch Cron-Tabelle genannt, kann festgelegt werden, welche Programme regelmässig ausgeführt werden sollen. Dies kann dann nötig sein, wenn z.B. Aufgaben erledigt werden sollen während kein Benutzer am Rechner sitzt.
Bearbeitung der crontab
Man unterscheidet zwischen der systemweiten crontab, zu finden unter
/etc/crontab
und der benutzerspezifischen crontab zentral abgelegt unter
/var/spool/cron
Um die crontab für den angemeldeten Benutzer auch root (benutzerspezifische crontab) anzulegen, bzw. zu ändern nutzt man den Befehl
crontab -e
Eine Beschreibung des Befehls inklusive seiner Optionen findet man unter Crontab (Befehl) Die systemweite crontab unter /etc/crontab kann man nur per Texteditor ändern z.B.
sudo vi /etc/crontab
Syntax
.---------------- minute (0 - 59) | .------------- hour (0 - 23) | | .---------- day of month (1 - 31) | | | .------- month (1 - 12) OR jan,feb,mar,apr ... | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat | | | | | * * * * * user-name command to be executed
Die ersten fünf Abschnitte bestimmen, wann ein Programm ausgeführt werden soll. Das sechste Feld legt den Benutzerkontext fest, in dem dieses Programm ausgeführt werden soll. Das letzte Feld definiert das auszuführende Programm selbst.
1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|
* | * | * | * | * | user-name | command to be executed |
Die * können durch folgende Werte (von links nach rechts) ersetzt werden:
1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|
Minute(n) | Stunde(n) | Tag(e) | Monat(e) | Wochentag(e) |
0-59 | 0-23 | 1-31 | 1-12 | 0-7 (0 & 7 entspricht Sonntag) |
jan,feb,mar... | mon,tue,wed... |
Die manpage von crontab
Die manpage welche ebenfalls Informationen zur crontab (Datei) enthält wird mit folgendem Befehl aufgerufen:
man 5 crontab
Links
Interne Links
- TODO
Externe Links
Im Artikel Crontab (Datei) haben wir den Nutzen und die Syntax der crontab Datei erläutert. Um die benutzerspezifische crontab unter /var/spool/cron für die Bearbeitung zu öffnen nutzen wir folgenden Befehl
$ crontab -e
Um den Inhalt der benutzerspezifischen crontab anzuzeigen (Ausgabe ähnlich einer cat Ausgabe) nutzt man
$ crontab -l
$ crontab -r
löscht die crontab des aktuell angemeldeten Nutzers.
# crontab -u [OPTION] [BENUTZERNAME]
gibt root die Möglichkeit die crontab eines anderen Benutzers einzusehen, zu bearbeiten oder zu löschen.
Beispiel:
# crontab -l -u harald
# HARALDS BACKUPSCRIPT
0 0 * * 1-6 /home/harald/backupscript
Die Ausgabe des Befehls crontab zeigt, dass Harald täglich ausser sonntags um Mitternacht ein Backupscript ausführt.
Quellen
TODO