crontab

Aus Foxwiki


Beschreibung

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

  1. TODO

Externe Links

  1. Ein einfacher crontab Editor

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.