Website-Suche

So verwenden Sie den Befehl „at“, um eine Aufgabe zu einem bestimmten oder späteren Zeitpunkt unter Linux zu planen


Als Alternative zum Cron-Job-Scheduler können Sie mit dem Befehl at die einmalige Ausführung eines Befehls zu einem bestimmten Zeitpunkt planen, ohne eine Konfigurationsdatei bearbeiten zu müssen.

Die einzige Voraussetzung besteht darin, dieses Dienstprogramm zu installieren und seine Ausführung zu starten und zu ermöglichen:

yum install at              [on CentOS based systems]
sudo apt-get install at     [on Debian and derivatives]

Als nächstes starten und aktivieren Sie den at-Dienst beim Booten.

--------- On SystemD ---------
systemctl start atd
systemctl enable atd

--------- On SysVinit ---------
service atd start
chkconfig --level 35 atd on

Sobald atd ausgeführt wird, können Sie jeden Befehl oder jede Aufgabe wie folgt planen. Wir möchten 4 Ping-Tests an www.google.com senden, wenn die nächste Minute beginnt (d. h. wenn es 22:20:13 ist, die (Befehl wird um 22:21:00 ausgeführt) und melden Sie das Ergebnis per E-Mail (-m, erfordert Postfix oder Äquivalent) an den Benutzer, der den Befehl aufruft:

echo "ping -c 4 www.google.com" | at -m now + 1 minute

Wenn Sie die Option -m nicht verwenden, wird der Befehl ausgeführt, es wird jedoch nichts auf der Standardausgabe ausgegeben. Sie können die Ausgabe jedoch stattdessen auch in eine Datei umleiten.

Bitte beachten Sie außerdem, dass at nicht nur die folgenden festen Zeiten zulässt: jetzt, Mittag (12:00) und Mitternacht (00:00), sondern auch benutzerdefinierte zweistellige Zahlen (die Stunden darstellen) und 4-stellige Uhrzeiten (Stunden und Minuten).

Zum Beispiel,

Um updatedb heute um 23:00 Uhr auszuführen (oder morgen, wenn das aktuelle Datum nach 23:00 Uhr liegt), gehen Sie wie folgt vor:

echo "updatedb" | at -m 23

Um das System heute um 23:55 herunterzufahren (es gelten die gleichen Kriterien wie im vorherigen Beispiel):

echo "shutdown -h now" | at -m 23:55

Sie können die Ausführung auch um Minuten, Stunden, Tage, Wochen, Monate oder Jahre verzögern, indem Sie das +-Zeichen und die gewünschte Zeitangabe wie im ersten Beispiel verwenden.

Zeitangaben unterliegen dem POSIX-Standard.

Zusammenfassung

Als Faustregel gilt: Verwenden Sie at anstelle des Cron-Job-Schedulers, wenn Sie einen Befehl oder eine bestimmte Aufgabe zu einem genau definierten Zeitpunkt nur einmal ausführen möchten. Für andere Szenarien verwenden Sie cron.

Als Nächstes besprechen wir, wie man TAR-Archivdateien mit OpenSSL verschlüsselt. Bleiben Sie bis dahin mit Tecmint verbunden.