Befehl AT
16. April 2025Sie 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.
+