[[Vorlage(InArbeit, 31.03.10, "Heinrich Schwietering")]] [[Vorlage(Getestet, general)]] {{{#!vorlage Wissen [:Anwendungen_hinzufügen:Anwendungen hinzufügen] [:Terminal: Ein Terminal öffnen] [:sudo: Root-Rechte] }}} [[Inhaltsverzeichnis()]] 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] {{{#!vorlage Befehl at }}} und [[Vorlage(Tasten, enter)]] Anschließend gibt man die gewünschten Befehle ein und bestätigt mit [[Vorlage(Tasten, 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 [unter Ubuntu: [: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. ||<-2 rowclass="titel"> 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 [:man:Manpage] des Programms. Abgerufen werden können die laufenden Prozesse mittels {{{#!vorlage Befehl 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 Root-Rechte[3] nötig. Via {{{#!vorlage Befehl atrm }}} 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: {{{#!vorlage Befehl befehl | at }}} Ein Beispiel findet sich in [:Skripte/TV-Skript:]. = Problembehebung = == Befehle werden nicht gestartet == Da at die Umgebungsvariable "`DISPLAY`" nicht von sich aus setzen kann, muss diese bei Programmen mit grafischer Benutzeroberfläche manuell angegeben werden: {{{#!vorlage Befehl user@host:~$ at now +1min warning: commands will be executed using /bin/sh at> DISPLAY=:0 at> }}} 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. = Links = * [http://www.linux-user.de/ausgabe/2006/02/094-zubefehl/ Artikel zu at und cron] {de} aus der Zeitschrift "Linux User" (Ausgabe 02/06) ---- #tag: Ubuntu, System, Shell, Übersicht, Hilfsmittel, Programmierung, Büro