Update to r44761:
Editorial review of cron section. Update to r44702: Clarify how to review boot messages
This commit is contained in:
parent
2d35a56eb5
commit
f4f4c61e90
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=49182
1 changed files with 109 additions and 110 deletions
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
$FreeBSD$
|
$FreeBSD$
|
||||||
$FreeBSDde: de-docproj/books/handbook/config/chapter.xml,v 1.151 2011/12/19 14:55:31 bcr Exp $
|
$FreeBSDde: de-docproj/books/handbook/config/chapter.xml,v 1.151 2011/12/19 14:55:31 bcr Exp $
|
||||||
basiert auf: r44561
|
basiert auf: r44761
|
||||||
-->
|
-->
|
||||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
||||||
|
|
@ -252,46 +252,28 @@ run_rc_command "$1"</programlisting>
|
||||||
<filename>/etc/crontab</filename> und
|
<filename>/etc/crontab</filename> und
|
||||||
<filename>/var/cron/tabs</filename>. In diesen Dateien wird
|
<filename>/var/cron/tabs</filename>. In diesen Dateien wird
|
||||||
festgelegt, welche Programme zu welchem Zeitpunkt von
|
festgelegt, welche Programme zu welchem Zeitpunkt von
|
||||||
<application>cron</application> ausgeführt werden sollen.</para>
|
<application>cron</application> ausgeführt werden sollen.
|
||||||
|
Jede Zeile in diesen Dateien definiert eine auszuführende
|
||||||
|
Aufgabe, die auch als <firstterm>Cronjob</firstterm> bezeichnet
|
||||||
|
wird.</para>
|
||||||
|
|
||||||
<para>Das Werkzeug verwendet zwei verschiedene
|
<para>Das Werkzeug verwendet zwei verschiedene
|
||||||
Konfigurationsdateien: die
|
Konfigurationsdateien: die System-crontab, welche nicht
|
||||||
System-<filename>crontab</filename> und die
|
verändert werden sollte und die Benutzer-crontabs, die nach
|
||||||
Benutzer-<filename>crontab</filename>s. Der einzige Unterschied
|
Bedarf erstellt und geändert werden können. Das Format, dass
|
||||||
zwischen beiden Formaten ist das sechste Feld. In der
|
von diesen beiden Dateien verwendet wird, ist in &man.crontab.5;
|
||||||
System-<filename>crontab</filename> gibt das
|
dokumentiert. Das Format der System-crontab in
|
||||||
sechste Feld den Benutzer an, mit dem
|
<filename>/etc/crontab</filename> enthält das Feld
|
||||||
<application>cron</application> das Kommando ausführen wird. In
|
<literal>who</literal>, das in der Benutzer-crontab nicht
|
||||||
einer Benutzer-<filename>crontab</filename> werden alle
|
existiert. Dieses Feld gibt den Benutzer an, mit dem die
|
||||||
Kommandos unter dem Benutzer ausgeführt, welcher die
|
Aufgabe ausgeführt wird. Die Aufgaben in den Benutzer-crontabs
|
||||||
<filename>crontab</filename> erstellt hat. Hier ist das sechste
|
laufen unter dem Benutzer, der die crontab erstellt hat.</para>
|
||||||
Feld das letzte Feld. Dies ist ein wichtiges
|
|
||||||
Sicherheitsmerkmal. Das letzte Feld bezeichnet immer das
|
|
||||||
Kommando, das ausgeführt werden soll.</para>
|
|
||||||
|
|
||||||
<note>
|
<para>Benutzer-crontabs erlauben es den Benutzern, ihre eigenen
|
||||||
<para>Benutzer können mit Benutzer-<filename>crontabs</filename>
|
Aufgaben zu planen. Der Benutzer <systemitem
|
||||||
ohne <systemitem class="username">root</systemitem>-Rechte
|
class="username">root</systemitem> kann auch seine eigene
|
||||||
Befehle terminieren. Die Kommandos in
|
Benutzer-crontab haben, um Aufgaben zu planen, die nicht in der
|
||||||
Benutzer-<filename>crontabs</filename> laufen unter dem
|
System-crontab existieren.</para>
|
||||||
Benutzer, der die <filename>crontab</filename> erstellt
|
|
||||||
hat.</para>
|
|
||||||
|
|
||||||
<para>Der Benutzer
|
|
||||||
<systemitem class="username">root</systemitem> kann, wie jeder
|
|
||||||
andere Benutzer, eine Benutzer-<filename>crontab</filename>
|
|
||||||
besitzen. Die Benutzer-<filename>crontab</filename> von
|
|
||||||
<systemitem class="username">root</systemitem> ist nicht mit
|
|
||||||
<filename>/etc/crontab</filename>, der
|
|
||||||
System-<filename>crontab</filename>, zu verwechseln. Da die
|
|
||||||
System-<filename>crontab</filename> die angegebenen Kommandos
|
|
||||||
effektiv als
|
|
||||||
<systemitem class="username">root</systemitem>-Benutzer
|
|
||||||
aufruft, besteht normalerweise keine Notwendigkeit eine eigene
|
|
||||||
Benutzer-<filename>crontab</filename> für
|
|
||||||
<systemitem class="username">root</systemitem> zu
|
|
||||||
erstellen.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>Hier ist ein Beispieleintrag aus der
|
<para>Hier ist ein Beispieleintrag aus der
|
||||||
System-crontab, <filename>/etc/crontab</filename>:</para>
|
System-crontab, <filename>/etc/crontab</filename>:</para>
|
||||||
|
|
@ -300,7 +282,6 @@ run_rc_command "$1"</programlisting>
|
||||||
#
|
#
|
||||||
#$FreeBSD$
|
#$FreeBSD$
|
||||||
# <co xml:id="co-comments"/>
|
# <co xml:id="co-comments"/>
|
||||||
#
|
|
||||||
SHELL=/bin/sh
|
SHELL=/bin/sh
|
||||||
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin <co xml:id="co-env"/>
|
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin <co xml:id="co-env"/>
|
||||||
#
|
#
|
||||||
|
|
@ -311,8 +292,8 @@ PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin <co xml:id="co-env"/>
|
||||||
|
|
||||||
<calloutlist>
|
<calloutlist>
|
||||||
<callout arearefs="co-comments">
|
<callout arearefs="co-comments">
|
||||||
<para>Das Zeichen <literal>#</literal> am Zeilenanfang leitet,
|
<para>Das Zeichen <literal>#</literal> am Zeilenanfang leitet
|
||||||
wie in den meisten Konfigurationsdateien, einen Kommentar
|
einen Kommentar
|
||||||
ein. Benutzen Sie Kommentare, um die Funktion eines
|
ein. Benutzen Sie Kommentare, um die Funktion eines
|
||||||
Eintrags zu erläutern. Kommentare müssen in einer extra
|
Eintrags zu erläutern. Kommentare müssen in einer extra
|
||||||
Zeile stehen. Sie können nicht in derselben Zeile wie ein
|
Zeile stehen. Sie können nicht in derselben Zeile wie ein
|
||||||
|
|
@ -333,41 +314,35 @@ PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin <co xml:id="co-env"/>
|
||||||
</callout>
|
</callout>
|
||||||
|
|
||||||
<callout arearefs="co-field-descr">
|
<callout arearefs="co-field-descr">
|
||||||
<para>In dieser Zeile werden sieben Felder beschrieben:
|
<para>In dieser Zeile werden sieben Felder der System-crontab
|
||||||
<literal>minute</literal>, <literal>hour</literal>,
|
beschrieben: <literal>minute</literal>,
|
||||||
<literal>mday</literal>, <literal>month</literal>,
|
<literal>hour</literal>, <literal>mday</literal>,
|
||||||
<literal>wday</literal>, <literal>who</literal>
|
<literal>month</literal>, <literal>wday</literal>,
|
||||||
und <literal>command</literal>. Die ersten Felder
|
<literal>who</literal> und <literal>command</literal>. Das
|
||||||
legen den Zeitpunkt fest, an dem ein Kommando laufen
|
Feld <literal>minute</literal> legt die Minute fest in der
|
||||||
soll. Das Feld <literal>minute</literal> legt die
|
die Aufgabe ausgeführt wird, das Feld
|
||||||
Minute fest, das Feld <literal>hour</literal> die
|
<literal>hour</literal> die Stunde, das Feld
|
||||||
Stunde, das Feld <literal>mday</literal> den Tag
|
<literal>mday</literal> den Tag des Monats. Im Feld
|
||||||
des Monats. Im Feld <literal>month</literal>
|
<literal>month</literal> wird der Monat und im Feld
|
||||||
wird der Monat und im Feld <literal>wday</literal>
|
<literal>wday</literal> der Wochentag festgelegt. Alle
|
||||||
der Wochentag festgelegt. Alle Felder müssen
|
Felder müssen numerische Werte enthalten und die Zeitangaben
|
||||||
numerische Werte enthalten und die Zeitangaben sind
|
sind im 24-Stunden-Format. Das Zeichen <literal>*</literal>
|
||||||
im 24-Stunden-Format. Das Zeichen <literal>*</literal>
|
|
||||||
repräsentiert dabei alle möglichen Werte für dieses Feld.
|
repräsentiert dabei alle möglichen Werte für dieses Feld.
|
||||||
Das Feld <literal>who</literal>
|
Das Feld <literal>who</literal> gibt es nur in der
|
||||||
gibt es nur in der Datei <filename>/etc/crontab</filename>
|
System-crontab und gibt den Account an, unter dem das
|
||||||
und gibt den Account an, unter dem das Kommando laufen
|
Kommando laufen soll. Im letzten Feld wird schließlich das
|
||||||
soll. Im letzten Feld wird schließlich das auszuführende
|
auszuführende Kommando angegeben.</para>
|
||||||
Kommando angegeben.</para>
|
|
||||||
</callout>
|
</callout>
|
||||||
|
|
||||||
<callout arearefs="co-main">
|
<callout arearefs="co-main">
|
||||||
<para>Diese Zeile definiert die Zeitpunkte an denen
|
<para>Diese Zeile definiert die Werte für den Cronjob. Die
|
||||||
<command>atrun</command> laufen soll. Dieses Beispiel
|
Zeichenfolge <literal>*/5</literal> gefolgt von mehreren
|
||||||
verwendet die Zeichenfolge <literal>*/5</literal> gefolgt
|
<literal>*</literal>-Zeichen bedeutet, dass
|
||||||
von mehreren <literal>*</literal>-Zeichen. Das Zeichen
|
<command>/usr/libexec/atrun</command> von <systemitem
|
||||||
<literal>*</literal> ist ein Platzhalter und steht
|
class="username">root</systemitem> alle fünf Minuten
|
||||||
für <emphasis>jede</emphasis> mögliche Zeit.
|
aufgerufen wird.</para>
|
||||||
Diese Zeile führt <command>/usr/libexec/atrun</command>
|
|
||||||
unter dem <systemitem
|
|
||||||
class="username">root</systemitem>-Account alle
|
|
||||||
fünf Minuten aus.</para>
|
|
||||||
|
|
||||||
<para>Bei den Kommandos können beliebige Optionen
|
<para>Bei den Kommandos können beliebig viele Optionen
|
||||||
angegeben werden. Wenn das Kommando zu lang ist und
|
angegeben werden. Wenn das Kommando zu lang ist und
|
||||||
auf der nächsten Zeile fortgesetzt werden soll,
|
auf der nächsten Zeile fortgesetzt werden soll,
|
||||||
muss am Ende der Zeile das Fortsetzungszeichen
|
muss am Ende der Zeile das Fortsetzungszeichen
|
||||||
|
|
@ -375,51 +350,72 @@ PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin <co xml:id="co-env"/>
|
||||||
</callout>
|
</callout>
|
||||||
</calloutlist>
|
</calloutlist>
|
||||||
|
|
||||||
<para>Bis auf das sechste Feld, das den Account angibt, sieht
|
|
||||||
jede &man.crontab.5; so wie das Beispiel aus. Das sechste Feld
|
|
||||||
existiert nur in der System-<filename>crontab</filename>. In
|
|
||||||
den restlichen &man.crontab.5;-Dateien fehlt dieses Feld.</para>
|
|
||||||
|
|
||||||
<sect2 xml:id="configtuning-installcrontab">
|
<sect2 xml:id="configtuning-installcrontab">
|
||||||
<title><filename>crontab</filename> installieren</title>
|
<title>Eine Benutzer-crontab erstellen</title>
|
||||||
|
|
||||||
<important>
|
<para>Rufen Sie <command>crontab</command> im Editor-Modus auf,
|
||||||
<para>Die nachstehende Prozedur gilt nur für
|
um eine Benutzer-crontab zu erstellen:</para>
|
||||||
Benutzer-<filename>crontabs</filename>. Die
|
|
||||||
System-<filename>crontab</filename> kann mit einem
|
|
||||||
Editor bearbeitet werden. <command>cron</command> bemerkt,
|
|
||||||
dass sich die Datei geändert hat und wird die neue
|
|
||||||
Version benutzen. Lesen Sie bitte auch die FAQ
|
|
||||||
zur Meldung <link
|
|
||||||
xlink:href="&url.books.faq;/admin.html#root-not-found-cron-errors">
|
|
||||||
root: not found</link>.</para>
|
|
||||||
</important>
|
|
||||||
|
|
||||||
<para>Eine Benutzer-<filename>crontab</filename>, beispielsweise
|
<screen>&prompt.user; <userinput>crontab -e</userinput></screen>
|
||||||
die Datei <filename>crontab-datei</filename>, können Sie mit
|
|
||||||
jedem Editor erstellen. Die
|
|
||||||
Benutzer-<filename>crontab</filename> installieren Sie mit dem
|
|
||||||
nachstehenden Befehl:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>crontab crontab-datei</userinput></screen>
|
<para>Dies wird die crontab des Benutzers mit dem
|
||||||
|
voreingestellten Editor öffnen. Wenn der Benutzer diesen
|
||||||
|
Befehl zum ersten Mal ausführt, wird eine leere Datei
|
||||||
|
geöffnet. Nachdem der Benutzer eine crontab erstellt hat,
|
||||||
|
wird die Datei mit diesem Kommando zur Bearbeitung
|
||||||
|
geöffnet.</para>
|
||||||
|
|
||||||
<para>Das Argument zum Befehl &man.crontab.5;
|
<para>Es empfiehlt sich, die folgenden Zeilen an den Anfang der
|
||||||
ist die vorher erstellte
|
crontab-Datei hinzuzufügen, um die Umgebungsvariablen zu
|
||||||
<filename>crontab-datei</filename>.</para>
|
setzen und die einzelnen Felder zu beschreiben:</para>
|
||||||
|
|
||||||
<para>Der Befehl <command>crontab -l</command> zeigt
|
<programlisting>SHELL=/bin/sh
|
||||||
die installierte crontab-Datei an.</para>
|
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
|
||||||
|
# Order of crontab fields
|
||||||
|
# minute hour mday month wday command</programlisting>
|
||||||
|
|
||||||
<para>Benutzer, die eine eigene
|
<para>Fügen Sie dann für jedes Kommando oder Skript eine Zeile
|
||||||
<filename>crontab</filename>-Datei ohne Vorlage erstellen
|
hinzu, mit der Angabe wann das Kommando ausgeführt werden
|
||||||
wollen, können den Befehl <command>crontab -e</command>
|
soll. In diesem Beispiel wird ein Bourne Shell Skript täglich
|
||||||
verwenden. Dieser Befehl ruft einen Editor auf und
|
um 14:00 Uhr ausgeführt. Da der Pfad zum Skript nicht in
|
||||||
installiert beim Verlassen des Editors die
|
<literal>PATH</literal> enthalten ist, wird der vollständige
|
||||||
<filename>crontab</filename>-Datei.</para>
|
Pfad zum Skript angegeben:</para>
|
||||||
|
|
||||||
<para>Wollen Sie die installierte
|
<programlisting>0 14 * * * /usr/home/dru/bin/mycustomscript.sh</programlisting>
|
||||||
Benutzer-crontab entfernen, rufen Sie den
|
|
||||||
<command>crontab -r</command>.</para>
|
<tip>
|
||||||
|
<para>Bevor Sie ein eigenes Skript verwenden, stellen Sie
|
||||||
|
sicher, dass es ausführbar ist und dass es mit den wenigen
|
||||||
|
Umgebungsvariablen von <application>cron</application>
|
||||||
|
funktioniert. Um die Umgebung nachzubilden, die der obige
|
||||||
|
<application>cron</application>-Eintrag bei der Ausführung
|
||||||
|
verwenden würde, benutzen Sie dieses Kommando:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.user; <userinput>env -i SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin HOME=/home/<replaceable>dru</replaceable> LOGNAME=<replaceable>dru</replaceable> <replaceable>/usr/home/dru/bin/mycustomscript.sh</replaceable></userinput></screen>
|
||||||
|
|
||||||
|
<para>Die Umgebung von <application>cron</application> wird in
|
||||||
|
&man.crontab.5; beschrieben. Es ist wichtig, dass
|
||||||
|
sichergestellt wird, dass die Skripte in der Umgebung von
|
||||||
|
<application>cron</application> korrekt arbeiten, besonders
|
||||||
|
wenn Befehle enthalten sind, welche Dateien mit Wildcards
|
||||||
|
löschen.</para>
|
||||||
|
</tip>
|
||||||
|
|
||||||
|
<para>Wenn Sie mit der Bearbeitung der crontab fertig sind,
|
||||||
|
speichern Sie die Datei. Sie wird automatisch installiert
|
||||||
|
und <application>cron</application> wird die darin enthalten
|
||||||
|
Cronjobs zu den angegebenen Zeiten ausführen. Um die Cronjobs
|
||||||
|
in einer crontab aufzulisten, verwenden Sie diesen
|
||||||
|
Befehl:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.user; <userinput>crontab -l</userinput>
|
||||||
|
0 14 * * * /usr/home/dru/bin/mycustomscript.sh</screen>
|
||||||
|
|
||||||
|
<para>Um alle Cronjobs einer Benutzer-crontab zu löschen,
|
||||||
|
verwenden Sie diesen Befehl:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.user; <userinput>crontab -r</userinput>
|
||||||
|
remove crontab for dru? <userinput>y</userinput></screen>
|
||||||
</sect2>
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
|
|
@ -702,8 +698,11 @@ ifconfig_fxp0="inet 10.1.1.1/8"</programlisting>
|
||||||
|
|
||||||
<para>Die Treiber für gebräuchliche Netzwerkkarten sind schon im
|
<para>Die Treiber für gebräuchliche Netzwerkkarten sind schon im
|
||||||
<filename>GENERIC</filename>-Kernel enthalten, so dass die
|
<filename>GENERIC</filename>-Kernel enthalten, so dass die
|
||||||
Karte während des Systemstarts erkannt werden sollte. In
|
Karte während des Systemstarts erkannt werden sollte. Die
|
||||||
diesem Beispiel findet das System zwei Karten, die den
|
Systemmeldungen können Sie sich mit
|
||||||
|
<command>more /var/run/dmesg.boot</command> ansehen. Mit der
|
||||||
|
Leertaste können Sie durch den Text blättern. In diesem
|
||||||
|
Beispiel findet das System zwei Karten, die den
|
||||||
&man.dc.4;-Treiber benutzen:</para>
|
&man.dc.4;-Treiber benutzen:</para>
|
||||||
|
|
||||||
<screen>dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38
|
<screen>dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue