Lernen Sie den Linux-Befehl 'at'

Die bei, Charge, atq, und atrm Linux-Befehle stellen Jobs in die Warteschlange, prüfen oder löschen Jobs zur späteren Ausführung.

Diese Befehle werden möglicherweise nicht standardmäßig installiert. Die typische Methode zum Planen von Aufgaben ist durch cron, nicht bei und die dazugehörigen Befehle.

So bearbeiten Sie die Linux-Crontab-Datei zum Planen von Jobs

Zusammenfassung

Diese Befehle haben die folgenden allgemeinen Formen:

at [-V] [-q Warteschlange] [-f Datei] [-mldbv] ZEIT
at -c Job [Job...]
atq [-V] [-q Warteschlange]
atrm [-V] Job [Job...]
Stapel [-V] [-q Warteschlange] [-f Datei] [-mv] [ZEIT]

Beschreibung

auf Befehl

Die bei und Charge Befehle lesen beabsichtigte Befehle aus der Standardeingabe oder einer angegebenen Datei, die zu einem späteren Zeitpunkt ausgeführt werden sollen, unter Verwendung der Shell, die durch die Umgebungsvariable des Benutzers festgelegt wurde HÜLSE, die Login-Shell des Benutzers oder letztendlich /bin/sh.

Diese vier Befehle hängen zusammen:

  • bei: Führt Befehle zu einem bestimmten Zeitpunkt aus.
  • atq: Listet die ausstehenden Jobs des Benutzers auf, es sei denn, der Benutzer ist der Superuser; in diesem Fall werden alle Jobs aufgelistet. Das Format der Ausgabezeilen (eine für jeden Job) ist: Jobnummer, Datum, Stunde, Jobklasse.
  • atrm: Löscht Jobs, identifiziert durch ihre Jobnummer.
  • Charge: Führt Befehle aus, wenn die Systemauslastung dies zulassen; mit anderen Worten, wenn der Lastmittelwert unter 0,8 fällt oder der im Aufruf von angegebene Wert atrun.

Nutzungshinweise

Bei erlaubt recht komplexe Zeitangaben. Es akzeptiert Zeiten des Formulars HH: MM um einen Job zu einer bestimmten Tageszeit auszuführen.

Ist diese Zeit bereits vergangen, wird der nächste Tag angenommen. Sie können auch angeben Mitternacht,Mittag, oder Teezeit (16 Uhr) und Sie können sich eine Uhrzeit mit anhängen lassen BIN oder PN zum Laufen morgens oder abends.

Sie können auch angeben, an welchem ​​Tag der Job ausgeführt werden soll, indem Sie ein Datum im Formular angeben MonatsnameTag mit optionalem Jahr, oder ein Datum des Formulars angeben MMTTJJ oder MM/TT/JJ oder TT.MM.JJ. Die Angabe eines Datums muss folgen Sie der Angabe der Tageszeit. Du kannst auch mal geben wie jetzt+zählenZeiteinheiten, wo die Zeiteinheiten stehen können Protokoll,Std,Tage, oder Wochen und du kannst es sagen bei um den Job heute auszuführen, indem Sie die Zeit mit anhängen heute und um den Job morgen auszuführen, indem Sie die Zeit mit anhängen Morgen.

Zum Beispiel, um einen Job um 16:00 Uhr auszuführen. In drei Tagen würden Sie um 16 Uhr tun. + 3 Tage, einen Job am 31. Juli um 10 Uhr auszuführen, würden Sie um 10 Uhr tun. 31. Juli und einen Job um 1 Uhr morgens auszuführen, würden Sie morgen um 1 Uhr morgens tun.

Für beide bei und Charge, Befehle werden von der Standardeingabe oder der mit dem angegebenen Datei gelesen-F Option und ausgeführt. Das Arbeitsverzeichnis, die Umgebung und die umask bleiben vom Zeitpunkt des Aufrufs an erhalten.

Ein bei - oder Charge - Befehl aufgerufen von a suShell behält die aktuelle Benutzer-ID. Der Benutzer erhält Standardfehler und Standardausgaben seiner Befehle, falls vorhanden. Mail wird mit dem Befehl gesendet /usr/sbin/sendmail. Wenn bei wird ausgeführt von a su Shell erhält der Besitzer der Login-Shell die Mail.

Superuser und Privilegien

Der Superuser darf diese Befehle in jedem Fall verwenden. Für andere Benutzer wird die Berechtigung zur Verwendung von durch die Dateien bestimmt /etc/at.allow und /etc/at.deny.

Wenn die Datei /etc/at.allow existiert, nur darin genannte Benutzernamen dürfen verwendet werden bei.

Wenn /etc/at.allow ist nicht vorhanden, /etc/at.deny wird geprüft, jeder darin nicht erwähnte Benutzername darf dann verwendet werden bei.

Wenn keines von beiden existiert, darf nur der Superuser at verwenden.

Ein leeres /etc/at.deny bedeutet, dass jeder Benutzer diese Befehle verwenden darf – dies ist die Standardkonfiguration.

Wenn du rennst bei Drücken Sie in einer interaktiven Sitzung Strg+D um das zu beenden bei Sitzung.

Optionen

Die Befehle benötigen die folgenden optionalen Schalter, wie oben angegeben:

  • -V: Gibt die Versionsnummer als Standardfehler aus.
  • -Q Warteschlange: Verwendet die angegebene Warteschlange. Eine Warteschlangenbezeichnung besteht aus einem einzelnen Buchstaben; gültige Warteschlangenbezeichnungen reichen von ein zu z. und EIN zu Z. Die ein Warteschlange ist die Standardeinstellung für bei und der Schlange für Charge. Warteschlangen mit höheren Buchstaben laufen mit erhöhter Freundlichkeit. Die spezielle Queue "=" ist für Jobs reserviert, die gerade laufen. Wenn ein Job an eine mit einem Großbuchstaben gekennzeichnete Warteschlange gesendet wird, wird er so behandelt, als ob er zu diesem Zeitpunkt an den Batch übergeben worden wäre. Wenn atq eine bestimmte Warteschlange zugewiesen ist, werden nur Jobs angezeigt, die in dieser Warteschlange anstehen.
  • -m: Mail an den Benutzer senden, wenn der Job abgeschlossen ist, auch wenn keine Ausgabe erfolgt ist.
  • -F Datei: Liest den Job aus Datei statt Standardeingabe.
  • -l: Alias ​​für atq.
  • -D: Alias ​​für atrm.
  • -v: Zeigt die Zeit an, zu der der Job ausgeführt wird.
  • -C: Verbindet die in der Befehlszeile aufgelisteten Jobs mit der Standardausgabe.