Advertisements

Planen Sie eine Aufgabe mit dem Linux at-Befehl

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

Weitere Linux-Ressourcen

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.

Planen Sie eine Aufgabe mit dem Linux at-Befehl

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top