Detaillierte Erklärung zur Verwendung des at-Befehls für einmalig geplante Aufgaben in Linux

Detaillierte Erklärung zur Verwendung des at-Befehls für einmalig geplante Aufgaben in Linux

Vorwort

Eine geplante Aufgabe ist eine Aufgabe mit einem Plan, was bedeutet, dass wir die Aufgabe automatisch gemäß unserem Plan ausführen möchten.

Es gibt zwei wichtige Punkte :

Die erste ist geplant, die zweite erfolgt automatisch.

1. Einführung in einmalig geplante Aufgaben

Eine einmalig geplante Aufgabe ist eine Aufgabe, die planmäßig nur einmal ausgeführt wird.

2. Befehl

Der Befehl at in Linux wird verwendet, um eine einmalige geplante Aufgabe zu erstellen. Der Befehl at verfügt über einen Dienst atd, der im Hintergrundmodus ausgeführt wird und die aktuelle Zeit überprüft, um zu entscheiden, ob der „Plan“ ausgeführt werden soll.

Standardmäßig überprüft der atd-Dienst das Verzeichnis alle 60 Sekunden. Wenn ein „Zeitplan“ vorhanden ist, überprüft er die Ausführungszeit des „Zeitplans“. Wenn die „Ausführungszeit des Zeitplans“ mit der aktuellen Zeit übereinstimmt, wird dieser „Zeitplan“ ausgeführt.

3. Erstellen Sie eine einmalige geplante Aufgabe

Zuerst muss der at-Dienst eingeschaltet werden:

systemctl start atd

Überprüfen Sie den Status von atd (ob es aktiv ist):

systemctl status atd

Überprüfen Sie, ob es aktiviert ist:

systemctl ist aktiv atd

Stoppen Sie den atd-Dienst (einmalig geplante Aufgaben werden nicht mehr ausgeführt):

systemctl stop atd

[root@localhost ~]# vim /root/backup-yum-repo.sh
[root@localhost ~]# cat /root/backup-yum-repo.sh 
#!/bin/bash
mkdir /opt/yum-repo-backup-dir -p
cp -r /etc/yum.repos.d /opt/yum-repo-backup-dir/yum.repos.d-`date +"%Y-%m-%d-%H:%M:%S"`.bak
[root@localhost ~]# chmod +x backup-yum-repo.sh 

Verwenden Sie den Befehl at, um eine einmalige Sicherung der Yum-Repository-Datei durchzuführen. Um die Ausführungsergebnisse von at reibungslos anzuzeigen, verwenden Sie den folgenden Befehl, um die NTP-Synchronisierung zu deaktivieren und die aktuelle Zeit einzustellen

Der Befehl #timedatectl set-ntp 0 deaktiviert die NTP-Synchronisierung [root@localhost ~]# timedatectl set-ntp 0
#date -s "2021-12-1 16:58:30" Befehl zum Einstellen von Datum und Uhrzeit [root@localhost ~]# date -s "2021-12-1 16:58:30"

Beispiel 1: Einmalige geplante Aufgabe zu einer bestimmten Zeit

Ausführung um 17:00 Uhr, also 17:00 Uhr (wenn die Zeit nach dem Nachmittag liegt, wird es auf den nächsten Tag verschoben)

# Das <EOT> im folgenden Befehl ist die geplante Aufgabe, die um übermittelt wurde. Verwenden Sie Strg+D, um [root@localhost ~]# um 17:00 Uhr anzuzeigen.
Warnung: Befehle werden mit /bin/sh ausgeführt
unter> /root/backup-yum-repo.sh
um> <EOT>
Job 5 am Mi. Dez 1 17:00:00 2021
# atq Einmalig geplante Aufgaben anzeigen [root@localhost ~]# atq
5 Mi Dez 1 17:00:00 2021 eine Wurzel
[root@localhost ~]# date;atq;ls /opt/yum-repo-backup-dir/
Mittwoch, 1. Dezember 2021, 16:59:50 CST
5 Mi Dez 1 17:00:00 2021 eine Wurzel
[root@localhost ~]# date;atq;ls /opt/yum-repo-backup-dir/
Mittwoch, 1. Dezember 2021, 17:00:02 CST
yum.repos.d-2021-12-01-17:00:00.bak

Beispiel 2: Einmalige geplante Aufgabe an einem bestimmten Datum

Führen Sie jetzt am 12. Dezember 2021 ein Skript aus.

Wenn keine Zeit angegeben ist, wird die Zeit der benutzerdefinierten geplanten Aufgabe als Ausführungszeit verwendet. (Wenn das angegebene Datum heute ist, wird die geplante Aufgabe in der nächsten Minute ausgeführt)

[root@localhost ~]# am 12.12.2021
Warnung: Befehle werden mit /bin/sh ausgeführt
unter> /root/backup-yum-repo.sh
um> <EOT>
Job 6 am So Dez 12 17:07:00 2021
[root@localhost ~]# atq
6 So Dez 12 17:07:00 2021 eine Wurzel

Beispiel 3: Einmalige geplante Aufgabe zu einem bestimmten Datum und Zeitpunkt

Ausgeführt am 13. Dezember 2021 um 12:12 Uhr

[root@localhost ~]# um 12:12 2021-12-13
Warnung: Befehle werden mit /bin/sh ausgeführt
unter> /root/backup-yum-repo.sh
um> <EOT>
Job 7 am Mo., 13. Dez. 2021, 12:12:00 Uhr
[root@localhost ~]# atq
6 So Dez 12 17:07:00 2021 eine Wurzel
7 Mo Dez 13 12:12:00 2021 eine Wurzel

Beispiel 4: Ausführung um 9:15 Uhr 5 Tage später

[root@localhost ~]# atq
6 So Dez 12 17:07:00 2021 eine Wurzel
7 Mo Dez 13 12:12:00 2021 eine Wurzel
[root@localhost ~]# um 9:15 + 5 Tage
Warnung: Befehle werden mit /bin/sh ausgeführt
unter> /root/backup-yum-repo.sh
um> <EOT>
Job 8 am Montag, 6. Dezember 2021, 09:15:00 Uhr
[root@localhost ~]# atq
6 So Dez 12 17:07:00 2021 eine Wurzel
7 Mo Dez 13 12:12:00 2021 eine Wurzel
8 Mo Dez 6 09:15:00 2021 eine Wurzel

Beispiel 5: Ausführung am Montag

[root@localhost ~]# atq
6 So Dez 12 17:07:00 2021 eine Wurzel
7 Mo Dez 13 12:12:00 2021 eine Wurzel
8 Mo Dez 6 09:15:00 2021 eine Wurzel
[root@localhost ~]# am Montag
Warnung: Befehle werden mit /bin/sh ausgeführt
unter> /root/backup-yum-repo.sh            
um> <EOT>
Job 9 am Montag, 6. Dezember 2021, 17:18:00 Uhr
[root@localhost ~]# atq
6 So Dez 12 17:07:00 2021 eine Wurzel
7 Mo Dez 13 12:12:00 2021 eine Wurzel
8 Mo Dez 6 09:15:00 2021 eine Wurzel
9 Mo Dez 6 17:18:00 2021 eine Wurzel

Hinweis: Sie können „at“ nicht mit der Vergangenheitsform verwenden. Es gibt kein Heilmittel für Reue.

4. Einmalig geplantes Aufgabenmanagement

4.1 Einmalig geplante Aufgaben anzeigen

atq

[root@localhost ~]# atq
6 So Dez 12 17:07:00 2021 eine Wurzel
7 Mo Dez 13 12:12:00 2021 eine Wurzel
8 Mo Dez 6 09:15:00 2021 eine Wurzel
9 Mo Dez 6 17:18:00 2021 eine Wurzel

4.2 Löschen einer einmalig geplanten Aufgabe

atrm

[root@localhost ~]# atq
6 So Dez 12 17:07:00 2021 eine Wurzel
7 Mo Dez 13 12:12:00 2021 eine Wurzel
8 Mo Dez 6 09:15:00 2021 eine Wurzel
9 Mo Dez 6 17:18:00 2021 eine Wurzel
[root@localhost ~]# atrm 8
[root@localhost ~]# atq
6 So Dez 12 17:07:00 2021 eine Wurzel
7 Mo Dez 13 12:12:00 2021 eine Wurzel
9 Mo Dez 6 17:18:00 2021 eine Wurzel

4.3 Detaillierte Informationen zu einmalig geplanten Aufgaben anzeigen

bei -c Job-ID

[root@localhost ~]# atq
6 So Dez 12 17:07:00 2021 eine Wurzel
7 Mo Dez 13 12:12:00 2021 eine Wurzel
9 Mo Dez 6 17:18:00 2021 eine Wurzel
[root@localhost ~]# bei -c 7

5. Einmalig geplante Aufgabennutzungskontrolle

at.allow (/etc/at.allow)

at.deny (/etc/at.deny)

Benutzer können den Befehl at verwenden, um eine einmalige geplante Aufgabe festzulegen, und können auch steuern, welche Benutzer die geplante Aufgabe verwenden können (in der Whitelist) und welche Benutzer die geplante Aufgabe nicht verwenden können

Die Whitelist für einmalig geplante Aufgaben ist at.allow und die Blacklist ist at.deny. Es wird nicht empfohlen, sowohl Whitelist als auch Blacklist zu verwenden.

Es wird empfohlen, eine Whitelist zu verwenden, und at.allow hat eine höhere Priorität als at.deny. Das heißt, wenn Wang sowohl in der Whitelist als auch in der Blacklist steht, dann kann Wang ausführen bei

Standardmäßig gibt es im rhel8.0-System keine at.allow-Datei, aber Sie können sie selbst erstellen.

# Benutzer wang zur Blacklist hinzufügen [root@localhost ~]# cat /etc/at.deny 
wang
[root@localhost ~]# su - wang
[wang@localhost ~]$ bei
Sie haben keine Berechtigung zur Nutzung von.
# Benutzer wang sowohl zur Blacklist als auch zur Whitelist hinzufügen [root@localhost ~]# cat /etc/at.allow
wang
[root@localhost ~]# cat /etc/at.deny 
wang
[root@localhost ~]# su - wang
[wang@localhost ~]$ bei
Verstümmelte Zeit

Damit ist dieser Artikel über die detaillierte Verwendung des einmaligen geplanten Linux-Aufgabenbefehls abgeschlossen. Weitere relevante einmalige geplante Linux-Aufgaben finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • So passen Sie geplante AT- und Cron-Aufgaben in Linux an
  • Detaillierte Erklärung zur Verwendung von geplanten Cron-Aufgaben in Linux
  • Kurze Diskussion: Zusammenfassung häufig verwendeter Symbole für geplante Linux-Cron-Aufgaben
  • Einführung in geplante Aufgaben im Linux-System

<<:  Detaillierte Einführung in das MySQL-Installationstutorial unter Windows

>>:  Eine kurze Analyse der Probleme, auf die bei der Erstellung von 404-Fehlerseiten geachtet werden sollte

Artikel empfehlen

HTML-Tutorial: Definitionsliste

<br />Originaltext: http://andymao.com/andy/...

Ein Beispiel, wie JavaScript doppelte Netzwerkanforderungen verhindern kann

Vorwort Während der Entwicklung stoßen wir häufig...

Einführung mehrerer benutzerdefinierter Schriftarten in CSS3

Heute habe ich ein Problem in HTML gefunden. Es s...

Analyse der HTTP-Dienstschritte auf einer virtuellen VMware-Maschine

1. Verwenden Sie xshell, um eine Verbindung mit d...

Detaillierte Erläuterung der Vue-Lebenszyklusfunktionen

Inhaltsverzeichnis Lebenszyklusfunktionen Allgeme...

Eine kurze Diskussion über den VUE Uni-App-Lebenszyklus

Inhaltsverzeichnis 1. Anwendungslebenszyklus 2. S...