Befehl AT

16. April 2025

Lang: cs en de es

Sie müssen einen Auftrag einmalig zu einer bestimmten Zeit ausführen? Das klingt nach einem Cron-Job. Aber cron ist für die wiederholte, periodische Ausführung gedacht. Um eine Aufgabe einmal zu einer vordefinierten Zeit auszuführen, verwenden Sie den Befehl "at". In diesem Artikel zeige ich Ihnen, wie Sie den "at"-Befehl verwenden.

Installation

Wie bei Linux-Distributionen üblich, sind alle Anwendungen als fertiges Paket für diese Linux-Distribution verfügbar. Auch der Befehl "at" ist in der Regel im Repository Ihrer Distribution verfügbar.

In der Mageia-Distribution kann man das Programm "at" mit dem folgenden Befehl installieren:

urpmi at

In der Debian-Distribution installiert man das Programm "at" mit folgendem Befehl:

apt-get install at

Der "at"-Befehl läuft im Hintergrund, als Daemon, und führt Aufträge unter dem Benutzer aus, der den Auftrag geplant hat. Daher müssen Sie den Daemon starten und den "at"-Daemon aktivieren, damit er nach dem Hochfahren des Computers startet. Verwenden Sie dazu den Befehl:

systemctl enable etc && systemctl start etc

Befehl at

Der Befehl "at" wird verwendet, um einen Befehl oder ein Skript einmalig zu einem bestimmten Zeitpunkt in der Zukunft auszuführen.

Grundlegende Verwendung

Interaktiver Modus

um 16:00

Dann geben Sie die Befehle ein und beenden das Programm mit Strg+D.

Planen eines Auftrags

echo "ls -l /home/user" | at 14:30

Führt den Befehl "ls -l /home/user" um 14:30 Uhr am selben Tag aus.

Für das Herunterfahren des Computers an einem bestimmten Datum planen

echo "reboot" | at 23:59 31.12.2025

Geplante Aufgaben anzeigen

Wenn Sie überprüfen wollen, welcher Benutzer was für welche Zeit geplant hat, verwenden Sie den folgenden Befehl, der die geplanten Aufgaben mit ihrer Startzeit auflistet:

atq

Alternativ können Sie auch

at -l

Abbruch eines geplanten Auftrags

Sie können entscheiden, dass Sie eine Aufgabe abbrechen möchten. Sie können eine geplante Aufgabe abbrechen. Um eine geplante Aufgabe zu löschen, verwenden Sie den Befehl:

atrm <Aufgabennummer>
Die Aufgabennummer können Sie der Anweisung atq entnehmen.

Besondere Zeiten

  • at now + 1 hour → Führt den Befehl in 1 Stunde aus.
  • um jetzt + 30 Minuten → Führt den Befehl in 30 Minuten aus.
  • um Mitternacht → Führt den Auftrag um Mitternacht aus.
  • at teatime → Führt den Auftrag um 16:00 Uhr aus.

Videotutorial

Praktische Video-Demonstration zur Verwendung des AT-Befehls:

Befehle in der Datei

Sie müssen die Befehle nicht von Hand eingeben, sondern können das, was Sie ausführen wollen, in eine Datei schreiben. Und diese Datei dann an das Programm "at" weitergeben. Vor allem, wenn Sie einen komplexen Befehl haben oder wissen, dass Sie ihn irgendwann in der Zukunft ausführen wollen, ist es eine gute Idee, ihn aufzuschreiben, um später Zeit zu sparen.

Sie übergeben Ihr Skript dann wie folgt an das Programm "at":

at -f config.at 13:00 2024-04-05

Vorsicht vor der Standard-Shell

Mit dem Befehl "at" können Sie Aufgaben zu einer bestimmten Zeit ausführen, aber es ist wichtig zu beachten, dass diese Aufgaben standardmäßig in einer nicht-interaktiven Shell ausgeführt werden (normalerweise /bin/sh oder eine andere Standard-System-Shell). Diese kann zu Problemen führen, wenn der Benutzer erwartet, dass seine bevorzugte Shell verwendet wird (z.B. bash, zsh) oder dass bestimmte Umgebungsvariablen verfügbar sind.

Warum genau dies berücksichtigt werden muss:

  • Eine andere Shell als Ihre interaktive - Wenn Sie zum Beispiel bash verwenden, aber "at" löst /bin/sh aus, dann werden einige Konstrukte zum Beispiel ([ ... ]], declare, source möglicherweise nicht funktionieren.
  • Fehlende Umgebungsvariablen - Eine Aufgabe, die über at ausgeführt wird, hat nicht die gleiche Umgebung wie Ihre interaktive Shell. Zum Beispiel können Ihre benutzerdefinierten Aliase, Funktionen oder modifizierte $PATH.
  • Eine Shell muss explizit angegeben werden - Wenn Sie möchten, dass die at Aufgabe in einer bestimmten Shell laufen soll, müssen Sie diese explizit angeben.

Ich empfehle daher, immer anzugeben, in welcher Shell Sie Ihre Befehle ausführen wollen, damit Sie sich nicht wundern müssen, warum sich Ihr Skript anders verhält, wenn Sie es manuell ausführen als wenn Sie es mit dem Programm "at" ausführen.

Automatisieren

Das "at" Programm ist eines von vielen Programmen, die Ihnen die Arbeit erleichtern, wenn Sie ein so leistungsfähiges Werkzeug wie das Linux-Betriebssystem auf Ihren Servern verwenden. Verwenden Sie Tools, die Ihnen die Arbeit erleichtern und Aufgaben automatisieren, die Sie sonst manuell erledigen müssten. Sie werden viel Zeit und damit Geld sparen.

Artikel zu einem ähnlichen Thema

Docker build multiarch image
VMware vs. Proxmox: Leistungsvergleich
GitLab CI/CD: Testautomatisierung und Anwendungsbereitstellung
VPS von VMware zu Proxmox migrieren
VMware-Lizenzierungsänderung
Ausführen von Microsoft SQL Server unter Linux
Sicherung: der Proxmox Backup Server
Linux als Router und Firewall
Hochladen eines Docker-Images in die Docker-Registry
Linux: Verwaltung logischer Datenträger
Linux-Software-RAID
Ausführen einer Webanwendung hinter einem Proxy
Migration von Postfächern
Mehrstufige Docker-Erstellung
Sichern Ihrer Daten durch Einschalten des Computers
Podman
Importieren von Windows in die Proxmox-Virtualisierung
Docker und PHP-Mail
Proxmox-Virtualisierung
Docker und Cron
Lenovo ThinkPad X1 Carbon: Inbetriebnahme des LTE-Modems EM7544
Yocto-Projekt: Erstellen eines eigenen Betriebssystems für eingebettete Geräte
Vorbereiten eines Linux-Servers für die Ausführung einer Webanwendung in Python
Wie man eine schlechte Dateifreigabeleistung in Docker behebt
Wie man Docker richtig einsetzt
Installation von Linux auf einem dedizierten HPE ProLiant DL320e Server
Wie man eine Webanwendung einem Belastungstest unterzieht
Warum das JFS-Dateisystem verwenden
Booten von einer 4TB-Festplatte mit GTP unter UEFI
Btrfs-Dateisystem
Raspberry PI
WINE - Ausführen von Windous Programmen unter Linux
GNU/Linux-Betriebssystem

Newsletter

Wenn Sie daran interessiert sind, gelegentlich Neuigkeiten per E-Mail zu erhalten.
Sie können sich registrieren, indem Sie Ihre E-Mail-Adresse eingeben News-Abonnement.


+