ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

at

Fehlende Vorlage

Das gewünschte Template „Wiki/Vorlagen/InArbeit“ existiert nicht.

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Das Konsolenprogramm at kann dazu genutzt werden, Programme zu einem bestimmten Zeitpunkt (einmalig) auszuführen, diese abzurufen oder zu löschen.

Installation

Normalerweise wird es bei einer Ubuntu-Installation automatisch mit installiert.

Andernfalls kann das Programm über das gleichnamige Paket

  • at (universe)

installiert [1] werden.

Bedienung

Aufgerufen werden kann es durch [2]

at <Zeitangabe> 

und

Anschließend gibt man die gewünschten Befehle ein und bestätigt mit Alt + D .

Die standardmäßig erscheinende Fehlermeldung

warning: commands will be executed using /bin/sh

gibt lediglich an, dass die Befehle in der Standard-Shell Dash:) und nicht in der Bash ausgeführt werden. Dies hat jedoch keine Konsequenzen, sofern man nicht mit at ein Shell-Skript ausführt, welches Bash-spezifische (bzw. zsh, ksh...) Befehle nutzt.

Der Hinweis kann also im Normalfall einfach ignoriert werden.

Zeitangaben in at
Format Bedeutung
today Heute
tomorrow Morgen
noon tomorrow Um 12:00 Uhr am nächsten Tag; mit at kann auch "teatime" (= 16:00 Uhr) oder "midnight" (= Mitternacht) verwendet werden.
now Jetzt
now + 10min In zehn Minuten; möglich sind auch Angaben zu Stunden ("hours"), Tagen ("days"), Wochen ("weeks") und Monaten ("months") .
20:15 Heute um 20:15 Uhr
09:00pm Heute um 21:00 Uhr (mit Angabe von "am" heute um 9.00 Uhr morgens, ohne Angabe die Zeit im 24-Stunden-Format).
2/23/16 Am 23. Februar 2010; mögliche Schreibweisen für das Datum sind z.B. "2.23.10" und "22310"; der Monat steht hier vor dem Tag.

Die Angaben können sinngemäß kombiniert werden, ein Datum muss dabei immer nach einer Uhrzeit angegeben werden! Ein at-Job, der beim Rechnerstart bereits in der Vergangenheit liegt, kann nicht ausgeführt werden (siehe aber anacron). Weitere Einzelheiten in der Manpage des Programms.

Abgerufen werden können die laufenden Prozesse mittels

atq 

Dabei werden allerdings nur die Daten ausgegeben, nicht aber, welches Kommando ausgeführt werden soll.

Diese Angaben kann man in /var/spool/cron/atjobs/ in Erfahrung bringen, dazu sind allerdings Root-Rechte[3] nötig.

Via

atrm <Prozess - ID> 

können die Aufträge gestoppt werden.

Alternative Syntax

Um at z.B. in Skripten mit einer Befehlszeile zu nutzen, kann auch folgende Syntax verwendet werden:

befehl <Programname> | at <Zeitangabe> 

Problembehebung

Befehle werden scheinbar nicht gestartet

Da at die Umgebungsvariable "DISPLAY" nicht von sich aus setzen kann, muss diese bei Programmen mit grafischer Benutzeroberfläche manuell angegeben werden:

user@host:~$ at now +1min
warning: commands will be executed using /bin/sh
at> DISPLAY=:0 <Programmname>
at> <EOT> 

wäre der benötigte Syntax.

Alternativen

Cron bietet die Möglichkeit, regelmäßig auszuführende Aktionen zu programmieren, kann aber auch für einzelne Aufrufe verwendet werden.


Diese Revision wurde am 23. Februar 2010 08:48 von Heinrich_Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: System, Shell