Linux Befehl „at“ – Eine einfache Zeitsteuerung

Dieser Artikel wird demnächst überarbeitet. Ziel ist es einen genaueren Einblick über den Befehl zu zeigen und näher an dem englischem Manual zu bleiben!
Man will einen Befehl nur mal eben eine halbe Stunde später ausführen? Oder Morgen früh soll extra ein Backup gefahren werden und ein CronJob ist viel zu aufwendig?
Wie man es gewohnt ist, gibt es auch hier etwas für Linux: at.


Wie Funktionierts?

linux:~# echo "" | at <time>;
linux:~# echo "date" | at 7:00

Führt man diesen Befehl aus, wird um 7 Uhr morgens der Befehl „date“ ausgeführt und die Ausgabe dem User per Email versendet.
Sollten Anführungszeichen benötigt werden so kann man diese durch einfache ersetzen oder Escapen.

linux:~# echo "''" | at </time><time>
linux:~# echo " \"\"" | at </time><time>

Ich persönlich bin Fan davon, das Anführungszeichen („) zu verwenden, da es bei manchen Programmen Unterschiede macht, ob man ein einfaches (‚) oder doppeltes („) Anführungszeichen verwendet.
Eine Weitere und die wohl elegantere Methode at mit Befehlen zu füttern ist at einfach aufzurufen. Es öffnet sich eine Prompt die pro Zeile einen Befehl annimmt. Die Eingabe wird mit [STRG]+[D] beendet.

linux:~# at 2:00
warning: commands will be executed using /bin/sh
at> apt-get update
at>
job 30 at Sun Jan 31 2:00:00 2010
linux:~#

Mit atq sieht man die aktuelle Warteschlange/Queue.

linux:~# atq
3 Thu Jan 14 03:00:00 2010 a root
linux:~#

Will man einen Job in der Warteschlange löschen reicht ein atrm zusammen mit der Jobnummer.
Dieser Code würde den oben angezeigten Job löschen.

linux:~# atrm 3

Beispiele:
Einen Ordner überwachen…

echo "ls -alh /var/log/" | at 2:00

Das System um 22 Uhr ausschalten…

echo "halt" | at 22:00

Einen Dienst neu Starten…

echo "/etc/init.d/apache2 restart" | at 3:00

Der Befehl at hat noch viele weitere Funktionen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload the CAPTCHA.