Computer sind gut in der Automatisierung, aber nicht jeder weiß, wie Automatisierung funktioniert. Es ist jedoch ein wahrer Luxus, eine Aufgabe für einen Computer zu einem bestimmten Zeitpunkt planen und dann vergessen zu können. Vielleicht müssen Sie eine Datei zu einem bestimmten Zeitpunkt hochladen oder herunterladen, oder Sie müssen einen Stapel von Dateien verarbeiten, die noch nicht vorhanden sind, aber zu einem bestimmten Zeitpunkt garantiert vorhanden sind, oder eine Einstellung, die überwacht werden muss, oder vielleicht brauchen Sie einfach eine freundliche Erinnerung, Brot und Butter auf dem Heimweg von der Arbeit abzuholen.
Das ist was at
Befehl ist für.
Was ist das Kommando von Linux?
Die at
Befehl ist die Methode des Linux-Terminals, mit der Sie einmalige Jobs für eine bestimmte Zeit und ein bestimmtes Datum planen können. Spontane Automatisierung leicht gemacht vom Terminal aus.
Installation bei
Unter Linux ist die at
Befehl ist wahrscheinlich bereits installiert. Sie können überprüfen, ob es installiert ist, indem Sie das at -V
Befehl. Solange eine Version zurückgegeben wird, haben Sie at
Eingerichtet:
$ at -V
at version x.y.z
Sollten Sie versuchen zu verwenden at
und der Befehl nicht gefunden wird, bieten die meisten modernen Linux-Distributionen an, das fehlende zu installieren at
Paket für Sie.
Möglicherweise müssen Sie auch den at-Daemon starten, genannt atd
. Auf den meisten Linux-Systemen verwenden Sie den Befehl systemctl, um Dienste zu aktivieren und sie so einzustellen, dass sie von nun an automatisch starten:
$ sudo systemctl enable --now atd
Job interaktiv planen mit at
Wenn Sie das verwenden at
Befehl zusammen mit der Zeit, zu der eine Aufgabe ausgeführt werden soll, öffnen Sie ein interaktives at
prompt. Sie können Befehle eingeben, die zum angegebenen Zeitpunkt ausgeführt werden sollen.
Wenn es hilft, können Sie sich diesen Prozess als Kalender-App vorstellen, wie Sie sie wahrscheinlich auf Ihrem Mobiltelefon verwenden – zuerst erstellen Sie einen Termin an einem bestimmten Tag und geben dann an, was passieren soll.
Versuchen Sie beispielsweise, ein Memo für sich selbst zu planen, indem Sie in der Zukunft eine Aufgabe für einige Minuten erstellen. Machen Sie die Aufgabe einfach, um die Wahrscheinlichkeit eines Fehlers zu verringern. Um die zu verlassen at
Aufforderung, drücken Sie Strg+D auf Ihrer Tastatur.
$ at 11:20 AM
warning: commands will be executed using /bin/sh
at> echo "hello world" > ~/at-test.txt
at> <EOT>
job 3 at Mon Jul 26 11:20:00 2021
Wie du siehst, at
verwendet intuitive und natürliche Zeitdefinitionen. Sie müssen die 24-Stunden-Uhr nicht kennen oder Zeiten in UTC oder ein bestimmtes ISO-Format umrechnen. Im Allgemeinen können Sie jede beliebige Notation verwenden, die Ihnen selbstverständlich ist, wie z Mittag, 13:30 Uhr, 13:37, und so weiter, um zu beschreiben, wann eine Aufgabe ausgeführt werden soll.
Warten Sie einige Minuten und überprüfen Sie dann, ob Ihre Aufgabe ausgeführt wurde, indem Sie die cat
oder der tac
Befehl für die von Ihnen erstellte Datei:
$ cat ~/at-test.txt
hello world
Planen Sie einen Job bei at
Sie müssen die interaktive Eingabeaufforderung nicht verwenden, um Jobs mit zu planen at
. Sie können stattdessen Befehle mit weiterleiten echo
oder printf
. In diesem Beispiel verwende ich die Notation jetzt und wie viele Minuten ab jetzt soll die Aufgabe verzögert werden:
$ echo "echo 'hello again' >> ~/at-test.txt" | at now +1 minute
Überprüfen Sie nach einer Minute, ob der neue Befehl ausgeführt wurde:
$ cat ~/at-test.txt
hello world
hello again
Zeitausdrücke
Die at
Befehl ist ziemlich nachsichtig beim Interpretieren von Zeiten. Sie können zwischen vielen Formaten wählen, je nachdem, welches für Sie am bequemsten ist:
YYMMDDhhmm
[.ss](abgekürzt Jahr, Monat, Tag, Stunde, Minute und optional Sekunden)
CCYYMMDDhhmm
[.ss](ganzes Jahr, Monat, Tag, Stunde, Minute und optional Sekunden)
now
midnight
noon
teatime
(16 Uhr)AM
PM
Uhrzeiten und Datumsangaben können absolut sein oder ein Pluszeichen hinzufügen (+) um sie relativ zu machen jetzt. Wenn Sie relative Zeiten angeben, können Sie Wörter verwenden, die Sie wahrscheinlich bereits verwenden:
minutes
hours
days
weeks
months
years
Zeit- und Datumssyntax
Die at
Befehl ist weniger nachsichtig, wenn es darum geht, Zeiten von Datumsangaben zu unterscheiden. Die Uhrzeit muss zuerst stehen, gefolgt vom Tag, obwohl der Tag standardmäßig auf den aktuellen Tag gesetzt wird und nur erforderlich ist, wenn eine Aufgabe für einen zukünftigen Tag geplant wird.
Dies sind Beispiele für einige wenige gültige Ausdrücke:
$ echo "rsync -av /home/tux [email protected]:/home/tux/" | at 3:30 AM tomorrow
$ echo "/opt/batch.sh ~/Pictures" | at 3:30 AM 08/01/2022
$ echo "echo hello" | at now + 3 days
Anzeigen Ihrer Warteschlange
Sobald du dich umarmt hast at
und Aufgaben planen, anstatt sich Notizen auf Papierfetzen zu machen, die auf Ihrem Schreibtisch herumliegen, möchten Sie vielleicht überprüfen, ob Sie noch Aufträge in der Warteschlange haben.
Um deine anzuzeigen at
Warteschlange, verwenden Sie die atq
Befehl:
$ atq
10 Thu Jul 29 12:19:00 2021 a tux
9 Tue Jul 27 03:30:00 2021 a tux
7 Tue Jul 27 00:00:00 2021 a tux
Um eine Aufgabe aus Ihrer Warteschlange zu entfernen, verwenden Sie die atrm
Befehl zusammen mit der Auftragsnummer. So entfernen Sie beispielsweise Job 7:
$ atrm 7
$ atq
10 Thu Jul 29 12:19:00 2021 a tux
9 Tue Jul 27 03:30:00 2021 a tux
Um zu sehen, was tatsächlich in einem geplanten Job enthalten ist, müssen Sie sich die at
Spule. Nur der Root-Benutzer kann die at
Spule, also müssen Sie verwenden sudo
um die Spule anzuzeigen oder um cat
den Inhalt eines jeden Jobs.
Zeitplan mit Linux bei
Die at
System ist eine hervorragende Möglichkeit, um zu vermeiden, dass Sie später am Tag vergessen, einen Job auszuführen, oder dass Ihr Computer einen Job für Sie ausführen lässt, wenn Sie nicht da sind. nicht wie cron
, es ist frei von der Erwartung, dass ein Job von nun an bis auf Dauer nach einem regelmäßigen Zeitplan ausgeführt werden muss, und seine Syntax ist daher viel einfacher als die der cron
Syntax.
Wenn Sie das nächste Mal eine kleine Aufgabe haben, die Ihr Computer speichern und verwalten soll, probieren Sie die at
Befehl.