Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

at(1)

atq(1)

atrm(1)

mail(1)

sh(1)

su(1)

vi(1)

cron(1M)

crontab(1)                                                       crontab(1)

NAME
     crontab - Kommandos regelmäßig zu bestimmten Zeitpunkten ausführen

SYNTAX
     crontab [--] [datei]                                          Format 1

     crontab -l [benutzerkennung]                                  Format 2

     crontab -r [benutzerkennung]                                  Format 3

     crontab -e [benutzerkennung]                                  Format 4

BESCHREIBUNG
     Mit crontab können Sie veranlassen, daß Kommandos, Shell-Prozeduren
     oder ausführbare Programme regelmäßig zu bestimmten Zeitpunkten ausge-
     führt werden.

     Sie können mit crontab:

     -  Kommandoaufträge erteilen (Format 1)

     -  erteilte Aufträge ausgeben lassen (Format 2)

     -  erteilte Aufträge löschen (Format 3)

     -  erteilte Aufträge editieren (Format 4).

     Vor dem Aufruf beachten

     Wenn die Datei /etc/cron.d/cron.allow existiert, dann dürfen Sie das
     Kommando crontab nur dann aufrufen, wenn Ihre Benutzerkennung in die-
     ser Datei steht. Wenn die Datei /etc/cron.d/cron.allow nicht exi-
     stiert, dann dürfen Sie das Kommando crontab nur dann aufrufen, wenn
     Ihre Benutzerkennung nicht in der Datei /etc/cron.d/cron.deny steht.

     Wenn weder /etc/cron.d/cron.allow noch /etc/cron.d/cron.deny existie-
     ren, dann darf nur der Systemverwalter crontab aufrufen.

     Existiert z. B. nur die leere deny-Datei, so dürfen alle Benutzer
     crontab aufrufen.

     Die allow/deny-Dateien darf nur der Systemverwalter anlegen und
     ändern. Sie enthalten pro Zeile eine Benutzerkennung.

     Wenn ein privilegierter Benutzer die crontab-Datei eines anderen
     Benutzers verändert, ist das Verhalten nicht vorhersagbar. Der privi-
     legierte Benutzer sollte sich zuerst mit su und der Benutzerkennung
     des anderen Benutzers die Rechte verschaffen, mit denen er wirksame
     Änderungen an dessen crontab-Datei vornehmen kann.






Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

crontab(1)                                                       crontab(1)

     Vorsicht:

     Wenn Sie crontab versehentlich ohne Argumente aufrufen, dürfen Sie das
     Kommando nicht mit CTRL-D abbrechen! Denn in diesem Fall würden sämt-
     liche Einträge in Ihrer crontab-Datei gelöscht. Benutzen Sie statt
     dessen DEL.

OPTIONEN
   Format 1: Kommandoaufträge erteilen

     crontab [--] [datei]

     Wenn Sie mit crontab einen Kommandoauftrag erteilen wollen, geben Sie
     an:

     -  das Kommando (bzw. die Shell-Prozedur/das Programm), das ausgeführt
        werden soll, und

     -  den Zeitpunkt, zu dem das Kommando ausgeführt werden soll (z. B.
        jeden Freitag oder jeden 15. Januar).

     Rufen Sie crontab im obigen Format auf, dann schreibt crontab diese
     Angaben in Ihre crontab-Datei
     /var/spool/cron/crontabs/benutzerkennung. Der Prozeß /etc/cron über-
     prüft jede Minute, ob Kommandos in den jeweiligen crontab-Datei ausge-
     führt werden sollen, und veranlaßt gegebenenfalls die Ausführung.

     Um kommando auszuführen, ruft crontab von Ihrem Home-Verzeichnis aus
     eine neue Shell (sh) auf. crontab richtet zu jeder Shell eine Stan-
     dardumgebung ein, mit den Variablen HOME, LOGNAME, SHELL (/bin/sh) und
     PATH (:/bin:/usr/bin:/usr/lbin). Wenn Sie Ihre .profile-Datei ausfüh-
     ren lassen wollen, müssen Sie dies in Ihrer crontab-Datei explizit
     angeben.

     Werden in der crontab-Datei die Standardausgabe und Standardfehleraus-
     gabe der Kommandos nicht umgelenkt, dann erhalten Sie sowohl die Stan-
     dardausgabe als auch die Standardfehlerausgabe über mail.

     Pro Benutzerkennung gibt es höchstens eine crontab-Datei. Existiert
     die crontab-Datei /var/spool/cron/crontabs/benutzerkennung noch nicht,
     so wird sie beim crontab-Aufruf neu angelegt. Existiert sie bereits,
     so wird sie überschrieben. Wenn Sie also mit crontab zusätzliche Kom-
     mandoaufträge erteilen wollen, dann verwenden Sie die Option -e.

     --   Ende der Optionenliste. Die Angabe ist nötig, wenn datei mit -
          beginnt.

     datei
          Name der Datei, die die auszuführenden Kommandos und die Zeit-
          punkte der Ausführung enthält.




Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

crontab(1)                                                       crontab(1)

          datei muß dem unten beschriebenen Aufbau entsprechen (siehe AUF-
          BAU EINER crontab-DATEI).

          datei nicht angegeben:

          crontab liest den Eingabetext von der Standardeingabe. Der Text,
          den Sie in diesem Fall eingeben, muß dem unten beschriebenen Auf-
          bau entsprechen (siehe AUFBAU EINER crontab-DATEI).

   Format 2: Erteilte Aufträge ausgeben

     crontab -l [benutzerkennung]

     -l   (l - list) crontab gibt den Inhalt Ihrer crontab-Datei
          /var/spool/cron/crontabs/benutzerkennung aus.

          Ist diese Datei nicht vorhanden, erhalten Sie eine Fehlermeldung
          (siehe FEHLERMELDUNGEN).

     benutzerkennung
          Ist benutzerkennung angegeben, wird die crontab-Datei des zugehö-
          rigen Benutzers gezeigt. Die Angabe von benutzerkennung ist
          jedoch nur dem Systemverwalter erlaubt.

   Format 3: Erteilte Aufträge löschen

     crontab -r [benutzerkennung]

     -r   (r - remove) crontab löscht Ihre crontab-Datei
          /var/spool/cron/crontabs/benutzerkennung.

     benutzerkennung
          Ist benutzerkennung angegeben, wird die crontab-Datei des zugehö-
          rigen Benutzers gelöscht. Die Angabe von benutzerkennung ist
          jedoch nur dem Systemverwalter erlaubt.

   Format 4: Erteilte Aufträge editieren

     crontab -e [benutzerkennung]

     -e   (e - edit) Mit dieser Option können Sie eine Kopie Ihrer
          crontab-Datei oder, falls diese nicht existiert, eine leere Datei
          editieren und als aktuelle crontab-Datei speichern. Die Umge-
          bungsvariable VISUAL legt fest, welcher Editor aufgerufen wird.
          Ist VISUAL nicht definiert, so wird die Umgebungsvariable EDITOR
          überprüft. Ist auch EDITOR nicht definiert, so wird ed aufgeru-
          fen.

     benutzerkennung
          Ist benutzerkennung angegeben, wird die crontab-Datei des zugehö-
          rigen Benutzers bearbeitet. Die Angabe von benutzerkennung ist
          jedoch nur dem Systemverwalter erlaubt.


Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

crontab(1)                                                       crontab(1)

AUFBAU EINER crontab-DATEI

     Eine crontab-Datei bzw. der Eingabetext, den Sie beim crontab-Aufruf
     übergeben (siehe Format 1), muß folgendermaßen aufgebaut sein:

     Der Text besteht

     -  aus Zeilen, die einen Kommandoauftrag enthalten;

     -  eventuell aus Kommentarzeilen.

     Leerzeilen sind nicht erlaubt.

     Zeilen mit einem Kommandoauftrag

     Die Zeilen, die einen Kommandoauftrag enthalten, bestehen jeweils aus
     sechs Feldern, die durch Leer- oder Tabulatorzeichen voneinander
     getrennt sind. Die Felder enthalten folgende Angaben:

     _____________________________________________________________________
    |   1    |    2     |       3       |    4   |      5     |     6    |
    |________|__________|_______________|________|____________|__________|
    | Minute |  Stunde  |  Tag im Monat |  Monat |  Wochentag |  Kommando|
    |________|__________|_______________|________|____________|__________|

     Die Felder 1 bis 5 legen den Zeitpunkt fest, zu denen das in Feld 6
     angegebene Kommando ausgeführt werden soll.

     Minute        Mögliche Angaben: 0-59 oder muster

     Stunde        Mögliche Angaben: 0-23 oder muster

     Tag im Monat  Mögliche Angaben: 1-31 oder muster

     Monat         Mögliche Angaben: 1-12 oder muster

     Wochentag     Mögliche Angaben: 0-6 (0 = Sonntag) oder muster

     Kommando      Name des Kommandos, das zu dem angegebenen Zeitpunkt
                   ausgeführt werden soll.

                   Mit Hilfe des Prozentzeichens % stellen Sie dem Kommando
                   die Standardeingabe zur Verfügung. Die Shell interpre-
                   tiert jedes Prozentzeichen im Kommandofeld, das nicht
                   durch einen Gegenschrägstrich \ entwertet ist, als
                   Neue-Zeile-Zeichen. Sie führt den Inhalt des Kommando-
                   feldes nur bis zum ersten nicht entwerteten Prozentzei-
                   chen oder Neue-Zeile-Zeichen aus; der Rest des Feldes
                   wird dem Kommando als Standardeingabe übergeben (siehe
                   Beispiel 3).




Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

crontab(1)                                                       crontab(1)

     muster kann sein:

     -  ein Stern * (steht für alle zulässigen Werte)

     -  ein Bereich zahl-zahl

     -  eine Liste von zulässigen Zahlen oder Bereichen; die Elemente der
        Liste sind durch Kommas getrennt.

        Beispiel: 1,3,5 oder 1-3,5

     Angabe des Tages

     Für die Angabe des Tages stehen zwei Felder zur Verfügung: das 3. Feld
     (Tag im Monat) und das 5. Feld (Wochentag).

     Wenn Sie das 3. Feld und zugleich das 5. Feld mit einer Zahl, einem
     Bereich oder einer Liste besetzen, sind beide Angaben unabhängig
     voneinander gültig.

     Zum Beispiel bewirkt der Eintrag

     0 0 1,15 3 1 kommando

     in der crontab-Datei, daß kommando sowohl am 1. und 15. März als auch
     an jedem Montag im März aufgerufen wird.

     Wenn Sie für die Angabe des Tages nur ein Feld besetzen wollen, müssen
     Sie in das andere Feld einen Stern schreiben.

     Zum Beispiel bewirkt der Eintrag

     0 0 * 3 1 kommando

     in der crontab-Datei, daß kommando nur an jedem Montag im März aufge-
     rufen wird.

     Kommentarzeilen

     Eine Kommentarzeile enthält in Spalte 1 das Nummernzeichen #. Darauf
     kann beliebiger Text folgen. Kommentarzeilen können Sie verwenden, um
     die Kommandoaufträge zu erläutern oder um die Aufträge zur besseren
     Übersicht in Abschnitte zu gliedern. Beachten Sie, daß der Eingabe-
     text, den Sie an crontab übergeben, beliebig viele Kommentarzeilen,
     aber keine Leerzeilen enthalten darf.

FEHLERMELDUNGEN
     crontab: you are not authorized to use cron. Sorry.

     Sie sind nicht berechtigt, crontab aufzurufen. Siehe Vor dem Aufruf
     beachten.



Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

crontab(1)                                                       crontab(1)

     Format 1

     crontab: can't open your crontab file.

     Sie haben crontab mit dem Namen einer Datei aufgerufen, die nicht exi-
     stiert oder auf die nicht zugegriffen werden kann.

     crontab: error in previous line; ...

     Hat eine Zeile des Eingabetextes, den Sie an crontab übergeben haben,
     nicht den richtigen Aufbau, dann gibt crontab diese Zeile aus, gefolgt
     von obiger Fehlermeldung. Anstelle der drei Punkte steht die genauere
     Beschreibung des Fehlers, z. B.

     unexpected character found in line

     Ungültiges Zeichen in der Zeile gefunden

     number out of bounds

     Eine angegebene Zahl liegt außerhalb der zulässigen Grenzen.

     Format 2

     crontab: can't open your crontab file.

     Ihre crontab-Datei /var/spool/cron/crontabs/benutzerkennung existiert
     nicht. Sie können sie also auch nicht mit crontab -l lesen.

INTERNATIONALE UMGEBUNG
     Die Umgebungsvariable LCMESSAGES bestimmt die Sprache der Meldungs-
     texte. Wenn LCMESSAGES nicht oder als leere Zeichenkette definiert
     ist, wird der Wert von LANG als Standardwert herangezogen. Ist auch
     LANG nicht oder als leere Zeichenkette definiert, verhält sich das
     System so, als wäre es nicht internationalisiert.

     Die Umgebungsvariable LCALL bestimmt die gesamte internationale Umge-
     bung. LCALL hat Vorrang vor allen anderen Umgebungsvariablen im
     Bereich der Internationalisierung.

BEISPIELE
     Beispiel 1

     Der Rechner soll Sie jedes Jahr am 15. Mai an den Geburtstag von Tante
     Emma erinnern. Dazu legen Sie eine Datei geburtstag mit folgendem
     Inhalt an:

     0 0 15 5 * echo Tante Emma hat heute Geburtstag !!!

     Beachten Sie, daß Sie nur für den Tag im Monat eine Angabe machen wol-
     len, nicht für den Wochentag. Deshalb müssen Sie in das Feld für den
     Wochentag einen Stern schreiben.


Seite 6                      Reliant UNIX 5.44               Gedruckt 11/98

crontab(1)                                                       crontab(1)

     Nun übergeben Sie Ihre crontab-Datei geburtstag:

     $ crontab geburtstag

     Sie erhalten dann jeden 15. Mai um 0 Uhr die betreffende Nachricht
     über mail. Das funktioniert natürlich nur dann, wenn der Rechner in
     dieser Nacht nicht abgeschaltet ist.

     Beispiel 2

     Sie möchten eine Kollegin und sich selbst jeden Montag um 13 Uhr 30 an
     die Skigymnastik am Abend erinnern. Die Nachricht soll auf den Bild-
     schirm ausgegeben werden. Sie sitzen am Bildschirm tty007, Ihre Kolle-
     gin am Bildschirm tty014. Sie können in den Eingabetext Kommentarzei-
     len einfügen, damit Sie ihn später mit crontab -l besser lesen können.
     Ihre crontab-Datei könnte dann z. B. so aussehen:

     # *   = alle zulaessigen Werte
     # n-n = Bereich
     # n,n = Liste
     # Wochentag: 0 = Sonntag
     #
     # Min  Std  Tag(Mon)  Mon  Tag(Wo)  Kommando
     #
     30   13      *        *    1      echo Heute abend Skigymnastik ! \
     >/dev/tty007
     30   13      *        *    1      echo Heute abend Skigymnastik ! \
     >/dev/tty014

     Ihre Kollegin und Sie selbst erhalten dann jeden Montag um 13 Uhr 30
     die Meldung "Heute abend Skigymnastik !" auf den Bildschirm (und nicht
     in den Postkasten).

     Beispiel 3

     Sie möchten der Benutzerin doro, die am Rechner brummbox arbeitet,
     jeden Montag mit mail die folgende Nachricht schicken:

     Guten Morgen,
     schoene Woche...

     Dazu schreiben Sie den folgenden Eintrag in Ihre crontab-Datei:

     0 0 * * 1 mail doro@brummbox %Guten Morgen, %schoene Woche...

UMGEBUNGSVARIABLEN
     VISUAL   Die Umgebungsvariable VISUAL legt bei Verwendung der Option
              -e fest, welcher Editor benutzt wird.

     EDITOR   Falls VISUAL nicht gesetzt ist, legt EDITOR bei der Verwen-
              dung der Option -e fest, welcher Editor benutzt wird. Stan-
              dardwert ist vi.


Seite 7                      Reliant UNIX 5.44               Gedruckt 11/98

crontab(1)                                                       crontab(1)

DATEIEN
     /etc/cron.d/cron.allow
          Liste der Benutzerkennungen mit Ausführrecht für crontab. In
          jeder Zeile steht jeweils eine Benutzerkennung.

     /etc/cron.d/cron.deny
          Liste der Benutzerkennungen ohne Ausführrecht für crontab. In
          jeder Zeile steht jeweils eine Benutzerkennung.

     /var/spool/cron/crontabs/benutzerkennung
          crontab-Datei des Benutzers benutzerkennung.

SIEHE AUCH
     at(1), atq(1), atrm(1), mail(1), sh(1), su(1), vi(1), cron(1M).








































Seite 8                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026