So planen Sie Aufgaben mit dem Befehl unter Linux mit dem Befehl

So planen Sie Aufgaben mit dem Befehl unter Linux mit dem Befehl

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 von sudo 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…