Syntax

at [-V] [-qWarteschlange] [-fDatei] [-mldbv] Zeit
at -cJob [Job…]
atq [-V] [-qWarteschlange]
atrm [-V] Job [Job…]

Beschreibung

at ließt Kommandos von der Standard-Eingabe oder aus einer angegebenen Datei, die zu einem späteren Zeitpunkt durch /bin/sh ausgeführt werden sollen. at Führt Kommandos zu einer angegebenen Zeit aus atq Zeigt die Jobs des Users, die er bereits mit at in die Warteschlange aufgenommen hat. Ist der User der Superuser, so zeigt atq alle Jobs aller User. Das Ausgabeformat jedes Jobs ist: Jobnummer, Datum, Stunde, Jobklasse. atrm Löscht Jobs aus der Warteschlange. Die zu löschenden Jobs werden über ihre Jobnummer angegeben.

At erlaubt ziemlich komplexe Zeitangaben, entsprechend dem POSIX.2 Standard. Es akzeptiert Zeitangaben der Form HH:MM um Jobs zu einer bestimmten Uhrzeit des Tages auszuführen. (Wenn dieser Zeitpunkt schon vorbei ist, wird der Folgetag angenommen.) Stattdessen können auch die Worte midnight (Mitternacht), noon (Mittag) oder teatime (16 Uhr) angegeben werden und der Zeitangabe darf ein am oder pm folgen, um einer 12-stündige Zeitangabe Vor- oder Nachmittag hinzuzufügen. Auch der Tag, an dem der Job ausgeführt werden soll, kann bestimmt werden, indem ein Datum im Format MMDDYY oder MM/DD/YY oder DD.MM.YY. angegeben wird. Die Angabe des Datums muß nach der Angabe der Uhrzeit erfolgen und wird durch ein Leerzeichen von ihr getrennt. Auch Angaben wie now + Zahl Zeiteinheiten sind erlaubt, wobei für die Zeiteinheiten die Werte minutes, hours, days oder weeks erlaubt sind. Außerdem können Zeitangaben der Begriff tomorrow folgen, um den Job am folgenden Tag auszuführen.

Um zum Beispiel einen Job um 4 Uhr Nachmittag in drei Tagen auszuführen würde der Befehl lauten: at 4pm + 3 days, um einen Job morgen um 13 Uhr auszuführen genügt at 13:00 tomorrow

Die Kommandos selbst, die at ausführen soll werden entweder von der Standard-Eingabe gelesen, oder aus der Datei, die mit der -f Option angegeben wurde. Wenn die Kommandos also von Hand über die Standard-Eingabe eingegeben werden, so wird diese Eingabe durch ein Dateiendezeichen (Strg-D) in einer eigenen Zeile abgeschlossen.

Das Arbeitsverzeichnis, der Umgebungsspeicher (mit Ausnahme der Variablen TERM, DISPLAY und _) sowie die umask-Einstellungen werden so gesetzt, wie sie beim Aufruf des at-Kommandos gesetzt waren. Ein At-Kommando, das aus einer su-Shell aufgerufen wurde behält die aktuelle UserID bei. Dem User der das at-Kommando abgeschickt hatte, werden alle Ausgaben (STDOUT und STDERR) per Mail zugeschickt. Wenn at über eine su-Shell aufgerufen wurde, so wird die Mail an den Eigentümer der Login-Shell und nicht den der su-Shell geschickt.

Der Systemverwalter kann die at-Kommandos auf jeden Fall benutzen. Für alle anderen User gilt eine Zugriffskontrolle, die über die Dateien /etc/at.allow und /etc/at.deny geregelt wird.

Wenn die Datei /etc/at.allow existiert, dürfen nur die darin aufgelisteten User das at-Kommando benutzen.

Wenn /etc/at.allow nicht existiert, aber die Datei /etc/at.deny existiert, dann dürfen alle User, außer den in dieser Datei genannten das at-Kommando benutzen.

Existieren keine der genannten Dateien, dann darf nur der Superuser das at-Kommando ausführen.

Eine leere, aber existierende Datei /etc/at.deny meint, daß alle User at-Kommandos benutzen dürfen. Das ist die voreingestellte Konfiguration.

Optionen

-V gibt die Versionsnummer auf der Standard-Fehlerausgabe aus.

-q Warteschlange benutzt die angegebene Warteschlange. Eine Warteschlange wird durch einen einzelnen Buchstaben von „a“ bis „z“ definiert. Die voreingestellte Warteschlange für at ist „a“. Warteschlangen mit späteren Buchstaben laufen mit einem häheren Nice-Wert (also niedriger Priorität).

Wenn atq eie Warteschlange mitgegeben wurde, zeigt er nur die Jobs dieser Warteschlange.

-m Schickt dem User, der den Job aufgetragen hat auch dann eine Mail, wenn der Job selbst keine Ausgaben produziert hat.

-f Datei Ließt den Job aus der Datei statt von der Standard-Eingabe.

-l Ist ein Alias für atq.

-d Ist ein Alias für atrm.

-v Zeigt die Zeit, zu der der Job ausgeführt werden soll.

Das Format der Zeitangabe ist wie bei „1997-02-20 14:50“ wenn nicht die Umgebungsvariable POSIXLY_CORRECT gesetzt ist. In diesem Fall wäre die Angabe im Format „Thu Feb 20 14:50:00 1996“. -c gibt die auf der Kommandozeile mitgegebenen Jobs auf der Standard-Ausgabe aus.

Dateien

/var/spool/atjobs
/var/spool/atspool
/var/run/utmp
/etc/at.allow
/etc/at.deny

Siehe auch

cron(1) , nice(1) , sh(1) , umask(2) , atd(8) .

Autor

At wurde hauptsächlich von Thomas Koenig, ig25@rz.uni-karlsruhe.de geschrieben.