At: Unterschied zwischen den Versionen
(→Der Befehl at) |
(→Der Befehl at) |
||
Zeile 4: | Zeile 4: | ||
− | at ist die Abkürzung von "at time" und ist dafür gedacht, Befehle zu einem bestimmten Zeitpunkt auszuführen. Dazu gibt man ein: | + | '''at''' ist die Abkürzung von "at time" und ist dafür gedacht, Befehle zu einem bestimmten Zeitpunkt auszuführen. Dazu gibt man ein: |
at hh:mm also z.B. at 17:30 (hinter jede Zeile kommt natürlich die Enter-Taste) | at hh:mm also z.B. at 17:30 (hinter jede Zeile kommt natürlich die Enter-Taste) | ||
Zeile 15: | Zeile 15: | ||
und nimmt jetzt beliebige Shell-Befehle entgegen, die dann zu der angegebenen Uhrzeit ausgeführt werden. Die Zeit wird auch im 24-Stunden-Format angenommen und der Befehl wird zur nächsten passenden Uhrzeit ausgeführt, das geht also ohne Probleme auch über Mitternacht hinweg. at nimmt auch Tage, Wochen und Monate an und ein bestimmtes Datum wird auch akzeptiert. Siehe man at. | und nimmt jetzt beliebige Shell-Befehle entgegen, die dann zu der angegebenen Uhrzeit ausgeführt werden. Die Zeit wird auch im 24-Stunden-Format angenommen und der Befehl wird zur nächsten passenden Uhrzeit ausgeführt, das geht also ohne Probleme auch über Mitternacht hinweg. at nimmt auch Tage, Wochen und Monate an und ein bestimmtes Datum wird auch akzeptiert. Siehe man at. | ||
+ | '''Voraussetzung''': der at-Dämon atd muss laufen. Das lässt sich kontrollieren/einstellen mit Yast/System/Runlevel-Editor. | ||
− | + | ||
+ | == Ebene 2 Überschrift == | ||
+ | Die Anwendung von at jetzt an einem Beispiel | ||
Der Rechner soll bis in die Nacht irgendeine Fernsehsendung aufzeichnen und kann dann runtergefahren werden. Leider darf der normale Benutzer den Befehl shutdown nicht benutzen, wenn er nicht explizit die Berechtigung dafür erhält. Das wird so erreicht: | Der Rechner soll bis in die Nacht irgendeine Fernsehsendung aufzeichnen und kann dann runtergefahren werden. Leider darf der normale Benutzer den Befehl shutdown nicht benutzen, wenn er nicht explizit die Berechtigung dafür erhält. Das wird so erreicht: | ||
Zeile 71: | Zeile 74: | ||
Falls etwas schief geht, schickt at eine Mail an den Benutzer username, der nächste Start der Konsole zeigt an, das neue Mail eingetroffen ist: | Falls etwas schief geht, schickt at eine Mail an den Benutzer username, der nächste Start der Konsole zeigt an, das neue Mail eingetroffen ist: | ||
− | |||
== Ein zweites Beispiel == | == Ein zweites Beispiel == |
Version vom 19. November 2008, 18:29 Uhr
Autor: Hartmut
Der Befehl at
at ist die Abkürzung von "at time" und ist dafür gedacht, Befehle zu einem bestimmten Zeitpunkt auszuführen. Dazu gibt man ein:
at hh:mm also z.B. at 17:30 (hinter jede Zeile kommt natürlich die Enter-Taste)
Der Befehl meldet sich mit einer Warnung und seinem eigenen Prompt
warning: commands will be executed using /bin/sh at>
und nimmt jetzt beliebige Shell-Befehle entgegen, die dann zu der angegebenen Uhrzeit ausgeführt werden. Die Zeit wird auch im 24-Stunden-Format angenommen und der Befehl wird zur nächsten passenden Uhrzeit ausgeführt, das geht also ohne Probleme auch über Mitternacht hinweg. at nimmt auch Tage, Wochen und Monate an und ein bestimmtes Datum wird auch akzeptiert. Siehe man at.
Voraussetzung: der at-Dämon atd muss laufen. Das lässt sich kontrollieren/einstellen mit Yast/System/Runlevel-Editor.
Ebene 2 Überschrift
Die Anwendung von at jetzt an einem Beispiel
Der Rechner soll bis in die Nacht irgendeine Fernsehsendung aufzeichnen und kann dann runtergefahren werden. Leider darf der normale Benutzer den Befehl shutdown nicht benutzen, wenn er nicht explizit die Berechtigung dafür erhält. Das wird so erreicht:
Zuerst als su:
joe /etc/sudoers
und am Ende einfügen:
(username) (hostname)=NOPASSWD:/sbin/shutdown -h now
joe wird beendet mit STRG und X
Damit darf der User username am Computer hostname den Rechner mit shutdown herunterfahren.
Für den at-Aufruf eingeben:
at hh:mm
es meldet sich dann at mit
at>
danach eintippen:
sudo /sbin/shutdown -h now
es meldet sich wieder at mit:
at>
Jetzt at beenden mit STRG und D und es folgt die Meldung:
<EOT> job (Nr) at yyyy-mm-dd hh:mm
Der Rechner wird jetzt um hh:mm heruntergefahren. Die Konsole kann jetzt beendet werden. Wer sicher gehen will, kann den Job auch noch abfragen mit:
atq
Es erscheint die Antwort:
(Nr) yyyy-mm-dd hh:mm a username
Löschen des Jobs geht mit:
atrm (Nr)
Es folgt keine Rückmeldung, aber ein
atq
gibt auch nichts her, d.h.: es gibt keinen Job mehr.
Falls etwas schief geht, schickt at eine Mail an den Benutzer username, der nächste Start der Konsole zeigt an, das neue Mail eingetroffen ist:
Ein zweites Beispiel
Es soll zu einer bestimmten Zeit eine Nachricht auf dem Bildschirm erscheinen, z.B. die Nachricht, dass die Waschmaschine fertig ist.
at 20:30 warning: commands will be executed using /bin/sh at> xterm -iconic -display :0.0 -e 'kdialog --msgbox "Die Wäsche muss aufgehängt werden" --title Achtung' at> (STRG-D)
Das ruft das Terminalfenster xterm auf in unsichtbarer Form (-iconic), welches seinerseits auf der grafischen Oberfläche 0.0 seine Arbeit tut und mit -e das nachfolgende Kommmando ausführt. Die eigentliche Ausgabe erledigt kdialog. Den Namen des Displays erhält man mit
echo $DISPLAY
Viel Spaß und Fantasie beim Ausdenken von Aufgaben (Teewasser kocht, Ute hat morgen Geburtstag, www.ab_ins_bett.de usw.).