GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verstehen Sie die Befehle at, atq, atrm, batch anhand von 9 Beispielen

Sie können Batch-Jobs unter UNIX/Linux mit einem der drei Befehle ausführen – at, batch oder cron.

Lassen Sie uns in diesem Artikel überprüfen, wie Sie einen Job planen, einen Job anzeigen und einen Job mit auf Befehl löschen .

Sie können einen Job auf zwei verschiedene Arten planen:

  • Planen Sie die Ausführung des Jobs zu einem bestimmten Zeitpunkt. Beispiel:3. Juli, 10 Uhr
  • Planen Sie den Job so, dass er in relativer Zeit von jetzt an ausgeführt wird. Zum Beispiel in 5 Stunden.

1. Planen Sie einen At-Job mit einem bestimmten Datum und einer bestimmten Uhrzeit

Syntax:

$ at time date

Um beispielsweise einen Job am 20. Mai um 11:00 Uhr zu planen, verwenden Sie den folgenden at-Befehl.

$ at 11 am may 20

2. Planen Sie einen At-Job mit relativer Zeit

Sie können die Ausführung eines Jobs mit der relativen Zeit von jetzt an planen.

Syntax:

$ at now + COUNT UNIT

Beispielsweise wird der folgende Job in 1 Minute ausgeführt.

$ at now + 1 min

Das obige Beispiel liest die Befehle von stdin und führt den Job nach einer Minute aus. Wenn Sie im Zeitformat etwas falsches eingeben, erhalten Sie den Fehler „Garbled time“. ‘.

Sie können einen Hintergrundjob für 1 Stunde ab jetzt (oder) 1 Tag ab jetzt planen, indem Sie den folgenden at-Befehl verwenden:

$ at now + 1 hour

$ at now + 1 day

Ähnlich wie beim at-Befehl können Sie auch crontab verwenden, um Jobs zu einem geplanten Zeitpunkt auszuführen. Siehe unseren früheren Artikel mit 15 Beispielen für Cron-Befehle.

3. Zeigen Sie alle geplanten Jobs mit atq

an

Sie können den Befehl atq (oder at -l) verwenden, um alle Jobs mit dem Befehl atq anzuzeigen, die geplant sind oder derzeit ausgeführt werden.

Der folgende atq-Befehl listet alle ausstehenden at auf Arbeitsplätze. Die erste angezeigte Zahl ist die Auftragsnummer, gefolgt von der Zeit, in der der Vorgang ausgeführt werden soll, und dem Benutzernamen.

$ atq
4	2010-04-20 11:00 a sathiya

4. Entfernen/Löschen Sie einen geplanten Job mit atrm

Sie können den Befehl atrm (oder at -d) verwenden, um einen bestimmten Job zu löschen. Um beispielsweise die Jobnummer 4 zu löschen, verwenden Sie den folgenden atrm-Befehl.

$ atrm 4

5. Führen Sie einen Job nur aus, wenn die durchschnittliche Systemlast <1,5 beträgt, indem Sie den Batch-Befehl verwenden

Sie können einen Job mit einem Stapelbefehl planen, der zur Befehlseingabe auffordert, die ausgeführt wird, wenn die durchschnittliche Systemlast weniger als 1,5 beträgt.

$ batch

Nach erfolgreichem Abschluss der Eingabe erhalten Sie die Auftragsnummer. Zum Auflisten und Entfernen von Batch-Jobs können Sie die oben erläuterten at-Befehle verwenden.

6. Planen Sie Jobs aus der Datei mit der Option -f

Erstellen Sie zuerst eine Textdatei, die alle Befehle oder Shell-Skripte enthält, die Sie im Hintergrund ausführen möchten, indem Sie den at-Befehl verwenden.

$ cat myjobs.txt
/home/sathiya/calculate-space.sh
/path/to/a/shell-script
/path/to/any/command/or/script

Mit der Option -f können Sie den at-Befehl verwenden, um die Eingabe aus der Datei anstelle von stdin zu erhalten.

Das Befolgen des Befehls at führt alle Jobs aus myjobs.txt in 1 Stunde ab jetzt aus.

$ at -f myjobs.txt now + 1 hour

7. Bestimmten Benutzern die Verwendung von Jobs erlauben und verweigern

Der Systemadministrator kann steuern, wer einen at-Job planen kann und wer die Dateien at.allow und at.deny nicht verwenden kann.

Zuerst sucht das System nach der Datei at.allow. Wenn at.allow existiert, dürfen nur die in der at.allow-Datei angegebenen Benutzernamen den at-Befehl verwenden.

Als Nächstes (falls at.allow nicht vorhanden ist) sucht das System nach der Datei at.deny. Wenn at.deny existiert, dürfen die in der at.deny-Datei angegebenen Benutzernamen den at-Befehl nicht verwenden.

Standardmäßig verwenden die meisten Systeme die Datei at.deny, um bestimmte Benutzer daran zu hindern, den Befehl at zu verwenden, z. B. www-data, guest, backup, man user.

8. Bei Befehl wie nohup ausführen

Ähnlich wie bei dem zuvor besprochenen nohup-Befehl können Sie mit dem at-Befehl einen Befehl (oder ein Shell-Skript) auf dem entfernten Server ausführen und sich vom Server abmelden.

$ at -f myjob now + 1 min

$ exit

Hinweis:myjob wird auch dann noch ausgeführt, wenn Sie den Server verlassen.

9. Zusätzliche At-Command-Time-Formate

Sie können eines der folgenden Datums- und Uhrzeitformate für Befehle verwenden:

$ at 10 am tomorrow

$ at 11:00 next month

$ at 22:00 today

$ at now + 1 week

$ at noon

Linux
  1. Linux-Befehle – Übersicht und Beispiele

  2. Verwenden von Vi-Tasten zum Bearbeiten von Shell-Befehlen in Unix?

  3. 10 praktische Beispiele für die Verwendung des scp-Befehls

  4. Die einfachsten Linux-Befehle mit 10 Beispielen

  5. 5 praktische Linux-Fuser-Befehlsbeispiele

Verwenden des Cat-Befehls unter Linux mit Beispielen

Verwenden des GREP-Befehls unter Linux mit Beispielen

So zeigen Sie Cheatsheets für Linux-Befehle mit z

Die Alias- und Unalias-Befehle mit Beispielen erklärt

15 Beispiele für die Verwendung des Grep-Befehls in Linux

Beispiele für die Dateibearbeitung mit den Unix-Befehlen Tac, Rev, Paste und Join