So planen Sie Aufgaben mit dem Befehl unter Linux mit dem Befehl
- 4754
- 956
- Susanne Stoutjesdijk
Erlernen des Zeitplanes und Verwalten von Aufgaben mit dem AT -Programm
Anforderungen
- Wurzelberechtigungen, um den ATD -Daemon zu starten
- Das AT -Programm installiert haben
Schwierigkeit
EINFACH
Konventionen
- # - Erfordert, dass gegebene Linux -Befehle entweder mit Root -Berechtigungen ausgeführt werden müssen
direkt als Stammbenutzer oder durch Verwendung vonsudo
Befehl - $ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können
Einführung
Während der Verabreichung eines Systems ist es eine entscheidende Fähigkeit, eine Aufgabe für eine spätere Ausführung zu planen: beispielsweise eine Sicherung einer Datenbank durchzuführen oder möglicherweise ein Wartungsskript auszuführen. Weniger bekannt als Cron
oder Anacron
, Die bei
Programm lassen uns dies auf eine ziemlich einfache Weise tun: In diesem Tutorial lernen wir, wie man es benutzt und wie es sich von den oben genannten Programmen unterscheidet.
Was ist bei?
Im Gegensatz zu Cron, was uns regelmäßig eine Aufgabe ausführen lässt, bei
gibt uns die Möglichkeit, einen Befehl oder ein Skript zu einem bestimmten Datum und einer bestimmten Stunde oder nach einem bestimmten Zeitintervall auszuführen. Minuten, Stunden, Tage oder Wochen können als Einheiten verwendet werden. Es ist sogar möglich, bestimmte „Schlüsselwörter“ als zu verwenden Mitternacht
oder Teezeit
(was um 16 Uhr entspricht).
Installation bei
Wenn nicht standardmäßig installiert, bei
sollte in fast allen Repositories der Verteilungen verfügbar sein.
Um es auf Fedora zu installieren, rennen Sie einfach:
# DNF installieren bei
Auf Rhel oder CentOS Yum ist immer noch der Standardpaketmanager:
# yum install bei
Auf Debian oder Ubuntu:
# APT-GET-Installation bei
Auf Archlinux:
# Pacman -s bei
Den Daemon starten
Sobald das Programm installiert ist, müssen wir das starten atd
Daemon und aktivieren es schließlich, wenn wir möchten, dass es automatisch beim Boot gestartet wird. Ich werde hier die Verwendung von Systemd als Init -System annehmen. Der Befehl muss mit Stammberechtigungen ausgeführt werden:
# Systemctl aktivieren -jetzt ATD.Service
Planen Sie einen Job aus der Eingabeaufforderung aus der Eingabeaufforderung
Mit allem können wir jetzt verwenden bei
. Nehmen wir an, wir möchten in 1 Minute einen Befehl ausführen. Die richtige Syntax wäre:
$ bei jetzt + 1 Minute
Um den gleichen Befehl um 16 Uhr in drei Tagen auszuführen, würden wir stattdessen ausführen:
$ um 16 Uhr + 3 Tage
Sobald die obige Zeile ausgeführt ist, die bei
Die Eingabeaufforderung wird angezeigt und darauf warten, dass wir den Befehl eingeben, der nach dem angegebenen Zeitintervall ausgeführt wird:
$ bei NOW + 1 Minuten bei> echo "Hallo Welt"> Test.txt at> job 4 at tue 19. Dezember 11:29:00 2017
Um das zu verlassen bei
Eingabeaufforderung, wir sollten die drücken Strg+d
Schlüsselkombination. Zu diesem Zeitpunkt werden wir eine Zusammenfassung der geplanten Aufgabe präsentieren, die uns die zeigt Job-ID
(4 in diesem Fall) und das Datum, an dem es ausgeführt wird.
So ein Beispiel haben wir einen trivialen Befehl eingegeben, um zu zeigen, wie bei
Arbeiten. In einer Minute wird die Zeichenfolge „Hello World“ in den Dateitest geschrieben.TXT, das automatisch erstellt wird, wenn es noch nicht existiert.
Planen Sie die Ausführung eines Skripts
Anstatt den Befehl zu geben, der interaktiv aus der Eingabeaufforderung ausgeführt wird, können wir anweisen bei
Um ein vorhandenes Skript oder Programm auszuführen, indem Sie es einfach als Argument an die übergeben -F
Flagge oder alternativ durch Verwendung der <
Umleitungsoperator. Unter der Annahme, dass wir ein Skript ausführen möchten, das in unserem aktuellen Arbeitsverzeichnis vorhanden ist, würden wir ausführen:
# Verwenden Sie das dedizierte -f -Flag $ bei NOW + 1 Minute -f -Skript.Sch
# Verwendung der < redirection operator $ at now + 1 minute < script.sh
Geplante Jobs verwalten
Um Jobs anzustellen, zu prüfen oder zu löschen, die bei AT geplant sind, können wir entweder dedizierte Befehle wie verwenden wie ATRM
Und atq
oder laufe bei
Mit bestimmten Flaggen sind letztere nur Aliase für die ersteren. Angenommen, wir möchten eine Liste aller ausstehenden Jobs erhalten, die von unserem Benutzer geplant sind:
$ ATQ 4 Di 19. Dezember 11:29:00 2017 A EGDOC
In dem obigen Befehl wird, falls als Stamm gestartet, die von allen Benutzern im System geplante Aufgabe angezeigt.
Um einen in der Warteschlange in der Warteschlange stehenden Job zu löschen, konnten wir verwenden ATRM
oder laufe bei
mit den äquivalenten Flaggen: -R
oder -D
. Auf die zu löschende Aufgabe muss durch seine Nummer verwiesen werden. In dem obigen Fall würden wir daher rennen:
$ ATRM 4
Schlussfolgerungen
Obwohl einfacher als Cron
oder Anacron
, Die bei
Das Programm kann in bestimmten Situationen sehr nützlich sein: ein Programm mit einer bestimmten Verzögerung auszuführen oder wenn Sie genau die Zeit kennen, in der die Aufgabe ausgeführt werden muss. Verweisen Sie auf das Handbuch für weitere Informationen und fügen Sie dieses kleine Werkzeug Ihrer Toolbox hinzu. Es wird sicherlich nützlich sein.
Verwandte Linux -Tutorials:
- Dinge zu installieren auf Ubuntu 20.04
- Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
- Eine Einführung in Linux -Automatisierung, Tools und Techniken
- Linux -Befehle: Top 20 wichtigste Befehle, die Sie benötigen, um…
- Grundlegende Linux -Befehle
- SQLite Linux -Tutorial für Anfänger
- Ubuntu 22.04 Systemsicherung und Wiederherstellung
- So drucken Sie den Verzeichnisbaum mit Linux
- Linux -Konfigurationsdateien: Top 30 am wichtigsten
- Kann Linux Viren bekommen?? Erforschung der Verwundbarkeit von Linux…
- « Tutorial zum Schreiben von grundlegenden Udev -Regeln unter Linux
- Grundlegende Anleitung zum Verschlingen von Linux -Partitionen mit Luks »