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$
|
||||
$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"
|
||||
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>/var/cron/tabs</filename>. In diesen Dateien wird
|
||||
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
|
||||
Konfigurationsdateien: die
|
||||
System-<filename>crontab</filename> und die
|
||||
Benutzer-<filename>crontab</filename>s. Der einzige Unterschied
|
||||
zwischen beiden Formaten ist das sechste Feld. In der
|
||||
System-<filename>crontab</filename> gibt das
|
||||
sechste Feld den Benutzer an, mit dem
|
||||
<application>cron</application> das Kommando ausführen wird. In
|
||||
einer Benutzer-<filename>crontab</filename> werden alle
|
||||
Kommandos unter dem Benutzer ausgeführt, welcher die
|
||||
<filename>crontab</filename> erstellt hat. Hier ist das sechste
|
||||
Feld das letzte Feld. Dies ist ein wichtiges
|
||||
Sicherheitsmerkmal. Das letzte Feld bezeichnet immer das
|
||||
Kommando, das ausgeführt werden soll.</para>
|
||||
Konfigurationsdateien: die System-crontab, welche nicht
|
||||
verändert werden sollte und die Benutzer-crontabs, die nach
|
||||
Bedarf erstellt und geändert werden können. Das Format, dass
|
||||
von diesen beiden Dateien verwendet wird, ist in &man.crontab.5;
|
||||
dokumentiert. Das Format der System-crontab in
|
||||
<filename>/etc/crontab</filename> enthält das Feld
|
||||
<literal>who</literal>, das in der Benutzer-crontab nicht
|
||||
existiert. Dieses Feld gibt den Benutzer an, mit dem die
|
||||
Aufgabe ausgeführt wird. Die Aufgaben in den Benutzer-crontabs
|
||||
laufen unter dem Benutzer, der die crontab erstellt hat.</para>
|
||||
|
||||
<note>
|
||||
<para>Benutzer können mit Benutzer-<filename>crontabs</filename>
|
||||
ohne <systemitem class="username">root</systemitem>-Rechte
|
||||
Befehle terminieren. Die Kommandos in
|
||||
Benutzer-<filename>crontabs</filename> laufen unter dem
|
||||
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>Benutzer-crontabs erlauben es den Benutzern, ihre eigenen
|
||||
Aufgaben zu planen. Der Benutzer <systemitem
|
||||
class="username">root</systemitem> kann auch seine eigene
|
||||
Benutzer-crontab haben, um Aufgaben zu planen, die nicht in der
|
||||
System-crontab existieren.</para>
|
||||
|
||||
<para>Hier ist ein Beispieleintrag aus der
|
||||
System-crontab, <filename>/etc/crontab</filename>:</para>
|
||||
|
|
@ -300,7 +282,6 @@ run_rc_command "$1"</programlisting>
|
|||
#
|
||||
#$FreeBSD$
|
||||
# <co xml:id="co-comments"/>
|
||||
#
|
||||
SHELL=/bin/sh
|
||||
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>
|
||||
<callout arearefs="co-comments">
|
||||
<para>Das Zeichen <literal>#</literal> am Zeilenanfang leitet,
|
||||
wie in den meisten Konfigurationsdateien, einen Kommentar
|
||||
<para>Das Zeichen <literal>#</literal> am Zeilenanfang leitet
|
||||
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
|
||||
|
|
@ -333,41 +314,35 @@ PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin <co xml:id="co-env"/>
|
|||
</callout>
|
||||
|
||||
<callout arearefs="co-field-descr">
|
||||
<para>In dieser Zeile werden sieben Felder beschrieben:
|
||||
<literal>minute</literal>, <literal>hour</literal>,
|
||||
<literal>mday</literal>, <literal>month</literal>,
|
||||
<literal>wday</literal>, <literal>who</literal>
|
||||
und <literal>command</literal>. Die ersten Felder
|
||||
legen den Zeitpunkt fest, an dem ein Kommando laufen
|
||||
soll. Das Feld <literal>minute</literal> legt die
|
||||
Minute fest, das Feld <literal>hour</literal> die
|
||||
Stunde, das Feld <literal>mday</literal> den Tag
|
||||
des Monats. Im Feld <literal>month</literal>
|
||||
wird der Monat und im Feld <literal>wday</literal>
|
||||
der Wochentag festgelegt. Alle Felder müssen
|
||||
numerische Werte enthalten und die Zeitangaben sind
|
||||
im 24-Stunden-Format. Das Zeichen <literal>*</literal>
|
||||
<para>In dieser Zeile werden sieben Felder der System-crontab
|
||||
beschrieben: <literal>minute</literal>,
|
||||
<literal>hour</literal>, <literal>mday</literal>,
|
||||
<literal>month</literal>, <literal>wday</literal>,
|
||||
<literal>who</literal> und <literal>command</literal>. Das
|
||||
Feld <literal>minute</literal> legt die Minute fest in der
|
||||
die Aufgabe ausgeführt wird, das Feld
|
||||
<literal>hour</literal> die Stunde, das Feld
|
||||
<literal>mday</literal> den Tag des Monats. Im Feld
|
||||
<literal>month</literal> wird der Monat und im Feld
|
||||
<literal>wday</literal> der Wochentag festgelegt. Alle
|
||||
Felder müssen numerische Werte enthalten und die Zeitangaben
|
||||
sind im 24-Stunden-Format. Das Zeichen <literal>*</literal>
|
||||
repräsentiert dabei alle möglichen Werte für dieses Feld.
|
||||
Das Feld <literal>who</literal>
|
||||
gibt es nur in der Datei <filename>/etc/crontab</filename>
|
||||
und gibt den Account an, unter dem das Kommando laufen
|
||||
soll. Im letzten Feld wird schließlich das auszuführende
|
||||
Kommando angegeben.</para>
|
||||
Das Feld <literal>who</literal> gibt es nur in der
|
||||
System-crontab und gibt den Account an, unter dem das
|
||||
Kommando laufen soll. Im letzten Feld wird schließlich das
|
||||
auszuführende Kommando angegeben.</para>
|
||||
</callout>
|
||||
|
||||
<callout arearefs="co-main">
|
||||
<para>Diese Zeile definiert die Zeitpunkte an denen
|
||||
<command>atrun</command> laufen soll. Dieses Beispiel
|
||||
verwendet die Zeichenfolge <literal>*/5</literal> gefolgt
|
||||
von mehreren <literal>*</literal>-Zeichen. Das Zeichen
|
||||
<literal>*</literal> ist ein Platzhalter und steht
|
||||
für <emphasis>jede</emphasis> mögliche Zeit.
|
||||
Diese Zeile führt <command>/usr/libexec/atrun</command>
|
||||
unter dem <systemitem
|
||||
class="username">root</systemitem>-Account alle
|
||||
fünf Minuten aus.</para>
|
||||
<para>Diese Zeile definiert die Werte für den Cronjob. Die
|
||||
Zeichenfolge <literal>*/5</literal> gefolgt von mehreren
|
||||
<literal>*</literal>-Zeichen bedeutet, dass
|
||||
<command>/usr/libexec/atrun</command> von <systemitem
|
||||
class="username">root</systemitem> alle fünf Minuten
|
||||
aufgerufen wird.</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
|
||||
auf der nächsten Zeile fortgesetzt werden soll,
|
||||
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>
|
||||
</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">
|
||||
<title><filename>crontab</filename> installieren</title>
|
||||
<title>Eine Benutzer-crontab erstellen</title>
|
||||
|
||||
<important>
|
||||
<para>Die nachstehende Prozedur gilt nur für
|
||||
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>Rufen Sie <command>crontab</command> im Editor-Modus auf,
|
||||
um eine Benutzer-crontab zu erstellen:</para>
|
||||
|
||||
<para>Eine Benutzer-<filename>crontab</filename>, beispielsweise
|
||||
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.user; <userinput>crontab -e</userinput></screen>
|
||||
|
||||
<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;
|
||||
ist die vorher erstellte
|
||||
<filename>crontab-datei</filename>.</para>
|
||||
<para>Es empfiehlt sich, die folgenden Zeilen an den Anfang der
|
||||
crontab-Datei hinzuzufügen, um die Umgebungsvariablen zu
|
||||
setzen und die einzelnen Felder zu beschreiben:</para>
|
||||
|
||||
<para>Der Befehl <command>crontab -l</command> zeigt
|
||||
die installierte crontab-Datei an.</para>
|
||||
<programlisting>SHELL=/bin/sh
|
||||
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
|
||||
# Order of crontab fields
|
||||
# minute hour mday month wday command</programlisting>
|
||||
|
||||
<para>Benutzer, die eine eigene
|
||||
<filename>crontab</filename>-Datei ohne Vorlage erstellen
|
||||
wollen, können den Befehl <command>crontab -e</command>
|
||||
verwenden. Dieser Befehl ruft einen Editor auf und
|
||||
installiert beim Verlassen des Editors die
|
||||
<filename>crontab</filename>-Datei.</para>
|
||||
<para>Fügen Sie dann für jedes Kommando oder Skript eine Zeile
|
||||
hinzu, mit der Angabe wann das Kommando ausgeführt werden
|
||||
soll. In diesem Beispiel wird ein Bourne Shell Skript täglich
|
||||
um 14:00 Uhr ausgeführt. Da der Pfad zum Skript nicht in
|
||||
<literal>PATH</literal> enthalten ist, wird der vollständige
|
||||
Pfad zum Skript angegeben:</para>
|
||||
|
||||
<para>Wollen Sie die installierte
|
||||
Benutzer-crontab entfernen, rufen Sie den
|
||||
<command>crontab -r</command>.</para>
|
||||
<programlisting>0 14 * * * /usr/home/dru/bin/mycustomscript.sh</programlisting>
|
||||
|
||||
<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>
|
||||
</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
|
||||
<filename>GENERIC</filename>-Kernel enthalten, so dass die
|
||||
Karte während des Systemstarts erkannt werden sollte. In
|
||||
diesem Beispiel findet das System zwei Karten, die den
|
||||
Karte während des Systemstarts erkannt werden sollte. Die
|
||||
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>
|
||||
|
||||
<screen>dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue