9.7. Aufgaben mit cron
und atd
zeitlich festlegen
cron
ist der für die Ausführung zeitlich festgelegter und sich wiederholender Befehle (täglich, wöchentlich usw.) zuständige Daemon; atd
erledigt nur einmal auszuführende Befehle, jedoch zu einem bestimmten Zeitpunkt in der Zukunft.
In einem Unix-System sind viele Aufgaben für eine regelmäßige Ausführung zeitlich festgelegt:
die Protokolldateien rotieren;
die Datenbank für das Programm locate
aktualisieren;
Daten sichern;
Wartungsskripten ausführen (wie das Entfernen temporärer Dateien).
Standardmäßig können alle Benutzer die Ausführung von Aufgaben planen. Daher hat jeder Benutzer sein eigenes crontab, in dem er seine geplanten Befehle eintragen kann. Es kann mit dem Aufruf von crontab -e
editiert werden (sein Inhalt ist in der Datei /var/spool/cron/crontabs/benutzer
gespeichert).
Der Root-Benutzer hat sein eigenes crontab, kann aber auch die Datei /etc/crontab
benutzen oder zusätzliche crontab-Dateien in das Verzeichnis /etc/cron.d
eintragen. Die beiden letztgenannten Lösungen haben den Vorteil, dass man mit ihnen die Benutzeridentität spezifizieren kann, die bei der Ausführung des Befehls verwendet werden muss.
Das Paket cron enthält standardmäßig einige zeitlich festgelegte Befehle, die folgendes ausführen:
stündlich Programme im Verzeichnis /etc/cron.hourly/
;
täglich Programme in /etc/cron.daily/
;
wöchentlich Programme in /etc/cron.weekly/
;
monatlich Programme in /etc/cron.monthly/
.
Viele Debian-Pakete sind auf diesen Dienst angewiesen; sie legen Wartungsskripten in diese Verzeichnisse, die den optimalen Betrieb ihrer Dienste sicherstellen.