crontab ist sowohl ein Dateiname ({{{/etc/crontab}}}) als auch ein Befehl, 
mit dem Steuerungsdateien für [[cron]] verwaltet werden. 

Die Datei {{{/etc/crontab}}} ist die sog. System-Crontab, auf die nur ''root'' Zugriffsrechte hat.

Auf vielen Systemen werden Skripte und Programme (oder Links darauf) in den Verzeichnissen {{{/etc/cron.hourly,daily,weekly,monthly}}}  automatisch in dem entsprechenden Intervall abgearbeitet.

Eigene Crontabs werden mit dem Befehl {{{crontab -e}}} verwaltet - dazu wird i.d.R. [[vi]] aufgerufen. 
''root'' darf zusätzlich die Crontabs anderer Benutzer editieren, 
dazu wird der Benutzername mit der Option {{{-u}}} an das Kommando angehängt.

Eine crontab-Datei ist eine Liste von Befehlen, die automatisch zu einem bestimmten Zeitpunkt ausgeführt werden. 
Eine Zeile kann einen Befehl oder einen Kommentar enthalten. Kommentare werden mit einem `#` am Zeilenanfang markiert.
Vor jedem Befehl stehen fünf Zahlen, mit denen die Aufrufhäufigkeit eingestellt wird:

||1.||Minute||0-59||
||2.||Stunde||0-23||
||3.||Tag||1-31||
||4.||Monat||1-12 oder Jan, Feb, Mar, ..., Dec||
||5.||Wochentag||0-7 oder Mon-Sun, wobei 0=Sun, 1=Mon, ..., 6=Sat, 7=Sun||

Für mehrere Werte können Kommata, für Bereiche können Bindestriche und für alles Mögliche kann * verwendet werden.

= Beispiele =

Eine User-crontab-Datei, die jeden Mittwoch um 5:30 Uhr morgens {{{/usr/sbin/programm}}} startet, sieht so aus:
{{{
30 5 * * 3     /usr/sbin/programm}}}


Eine User-crontab-Datei, die jeden Freitag und jeden 13. um 0:30 Uhr morgens {{{/usr/sbin/programm}}} startet, sieht so aus:
{{{
30 0 13 * Fri     /usr/sbin/programm}}}

Eine User-crontab-Datei, die alle fünf Minuten {{{/usr/sbin/programm}}} startet, sieht so aus:
{{{
*/5 * * * *     /usr/sbin/programm}}}

= Tipps & Tricks =

 * Wenn die Variable EDITOR gesetzt ist, wird beim Editieren der dort konfigurierte Editor aufgerufen.
  {{{
   EDITOR=mcedit crontab -e }}}

Mit crontab -l kann man sich die aktuelle crontab anzeigen lassen.

Um unerwünschte (Fehler-)Ausgaben zu unterdrücken, kann man eine Fehlerumleitung auf /dev/null verwenden.

 /usr/sbin/programm >/dev/null 2>&1

Die Abarbeitung der Cron-Jobs wird meistens in Form von Mails an den User protokolliert.

Bei Debian kann man auch einen Job bei jedem Reboot ausführen lassen. siehe man 5 crontab @reboot.
Das kann auch jeder user benutzen um z.B. fetchmail -d .. u.s.w. zu starten. :) 


Für die Ausgabe von Daten in eine Logfile könnte auch das hier evtl. interessant sein:
 {{{
   Befehl 1> logfile-$(date +%Y-%m-%d-%H-%M-%S).log }}}