Ein sehr nützliches Werkzeug von FreeBSD ist cron(8).
cron läuft im Hintergrund und
überprüft fortlaufend die Datei
/etc/crontab. Beim Start sucht
cron neue crontab-Dateien
im Verzeichnis /var/cron/tabs.
In den crontab-Dateien wird
festgelegt, welche Programme zu welchem Zeitpunkt laufen sollen.
Das Werkzeug cron verwendet
zwei verschiedene Konfigurationsdateien: Die
System-crontab und die
Benutzer-crontab. Der einzige Unterschied
zwischen beiden Formaten ist das sechste Feld. In der
System-crontab gibt das sechste Feld das
Konto an, unter dem ein Kommando läuft. Aus der
System-crontab können daher
Kommandos unter beliebigen Konten gestartet werden.
In der Benutzer-crontab gibt das
sechste Feld das auszuführende Kommando an. Alle
Kommandos laufen unter dem Konto, unter dem die
crontab erstellt wurde (ein
wichtiges Sicherheitsmerkmal).
Benutzer können mit Benutzer-crontabs
ohne root-Rechte Befehle terminieren.
Die Kommandos in Benutzer-crontabs laufen
unter dem Benutzer, der die crontab
erstellt hat.
Der Benutzer root kann, wie
jeder andere Benutzer, eine Benutzer-crontab
besitzen. Die Benutzer-crontab von
root ist nicht mit der Datei
/etc/crontab, der
System-crontab, zu verwechseln.
Normalerweise besitzt root, wegen
der Existenz der System-crontab, keine
eigene Benutzer-crontab.
Der folgende Auszug aus der System-crontab
/etc/crontab zeigt den Aufbau
einer crontab-Datei:
# /etc/crontab - root's crontab for FreeBSD # # $FreeBSD: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $ ## SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log # # #minute hour mday month wday who command
# # */5 * * * * root /usr/libexec/atrun
![]()
Das Zeichen
#leitet, wie in den meisten Konfigurationsdateien, einen Kommentar ein. Benutzen Sie Kommentare, um die Funktion eines Eintrags zu erläutern. Kommentare müssen in einer extra Zeile stehen. Sie können nicht in derselben Zeile wie ein Kommando stehen, da sie sonst Teil des Kommandos wären. Leerzeilen in dieser Datei werden ignoriert.Umgebungsvariablen werden mit dem Gleichheits-Zeichen (
=) festgelegt. Im Beispiel werden die VariablenSHELL,PATHundHOMEdefiniert. Wenn die VariableSHELLnicht definiert wird, benutztcrondie Shellsh. Wird die VariablePATHnicht gesetzt, müssen alle Pfadangaben absolut sein, da es keinen Vorgabewert fürPATHgibt. Der Vorgabewert fürHOMEist das Heimatverzeichnis des Accounts, dem diecrontabgehört.In dieser Zeile werden sieben Felder beschrieben:
minute,hour,mday,month,wday,whoundcommand. Die ersten Felder legen den Zeitpunkt fest, an dem ein Kommando laufen soll. Das Feldminutelegt die Minute fest, das Feldhourdie Stunde, das Feldmdayden Tag des Monats. Im Feldmonthwird der Monat und im Feldwdayder Wochentag festgelegt. Alle Felder müssen numerische Werte enthalten und die Zeitangaben sind im 24-Stunden-Format. Das Feldwhogibt es nur in der Datei/etc/crontabund gibt den Account an, unter dem das Kommando laufen soll. In dencrontab-Dateien einzelner Accounts existiert dieses Feld nicht. Im letzten Feld wird schließlich das auszuführende Kommando angegeben.Diese Zeile definiert die Zeitpunkte an denen das Kommando
atrunlaufen soll. Beachten Sie die Zeichenfolge*/5gefolgt von mehreren*-Zeichen. Das Zeichen*ist ein Platzhalter und steht für jede mögliche Zeit. Diese Zeile führt das Kommandoatrununter demroot-Account alle fünf Minuten aus. Mehr über das Kommandoatrunerfahren Sie in der Hilfeseite atrun(8).Bei den Kommandos können beliebige Optionen angegeben werden. Wenn das Kommando zu lang ist und auf der nächsten Zeile fortgesetzt werden soll, muss am Ende der Zeile das Fortsetzungszeichen (
\) angegeben werden.
Bis auf das sechste Feld, das den Account angibt, sieht
jede crontab-Datei so wie das Beispiel
aus. Das sechste Feld existiert nur in der Systemdatei
/etc/crontab. In den restlichen
crontab-Dateien fehlt dieses Feld.
Die nachstehende Prozedur gilt nur für
Benutzer-crontabs. Die
System-crontab können
Sie einfach mit Ihrem Lieblingseditor editieren.
Das Werkzeug cron bemerkt, dass
sich die Datei geändert hat und wird die neue
Version benutzen. Lesen Sie bitte auch die FAQ
zur Meldung root: not found.
Eine Benutzer-crontab, beispielsweise
die Datei crontab, können Sie mit
jedem Editor erstellen. Die Benutzer-crontab
installieren Sie mit dem nachstehenden Befehl:
#crontab crontab
Das Argument zum Befehl crontab
ist die vorher erstellte Datei crontab.
Der Befehl crontab -l zeigt
die installierte crontab-Datei an.
Benutzer, die eine eigene crontab-Datei
ohne Vorlage erstellen wollen, können den Befehl
crontab -e verwenden. Dieser Befehl
ruft einen Editor auf und installiert beim Verlassen des
Editors die crontab-Datei.
Wollen Sie die installierte
Benutzer-crontab entfernen, rufen Sie den
Befehl crontab mit der Option
-r auf.
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an
<de-bsd-translators@de.FreeBSD.org>.