Führt at einen Befehl später aus, wenn der Computer zur angegebenen Zeit ausgeschaltet ist?


20

Ich möchte Jobs mit einplanen at, bin mir aber nicht sicher, was passiert, wenn der Computer zum angegebenen Zeitpunkt angehalten wird: Wird der Befehl ausgeführt, sobald der Computer wieder aufwacht (wie mit anacron) oder wird er überhaupt nicht ausgeführt? (wie bei cron)?

Wenn Sie einen Job angeben, der zu einem bestimmten Zeitpunkt und zu einem bestimmten Datum in der Vergangenheit ausgeführt werden soll, wird der Job so schnell wie möglich ausgeführt.

Das ist, was die Manpage dazu sagt, aber es stimmt nicht ganz mit meinem Fall überein: Ich möchte keinen Job angeben, der in der Vergangenheit ausgeführt werden soll, ich möchte ihn in der Zukunft ausführen und fragen, wie ater auf dem Computer behandelt wird schläft dann.

Dies ist kein Duplikat des Befehls Run at, wenn der Computer im Ruhezustand ist, da in dieser Frage gefragt atwird , ob der Computer zur Ausführung des Befehls aufgeweckt werden soll. denn hier geht es darum, zu verhindern at, dass diese "alten" Jobs ausgeführt werden (mit einer sehr guten Antwort!).

Antworten:


20

atFührt jeden Befehl aus, der vor dem Aufwecken des Computers ausgeführt werden sollte. Dies kann jedoch einige Minuten dauern. Es spielt keine Rolle, ob Sie ein bestimmtes Datum angegeben haben, da Sie es einfach testen können:

$ sudo date -s "2017-12-15 23:57:00"
$ at 23:59 17-12-15 <<<'echo executed >at_test'
job 1 at Fri Dec 15 23:59:00 2017
# suspend, wake after four minutes
$ date
Sat Dec 16 00:01:17 CET 2017
$  cat <at_test || atq
bash: /home/dessert/at_test: No such file or directory
1       Fri Dec 15 23:59:00 2017 a dessert
# wait a few minutes
$  cat <at_test || atq
executed

So kann ein Job, den Sie mit hinzufügen, at 20:00 todaysehr gut drei Tage später plötzlich ausgeführt werden, wenn Sie Ihren Computer wieder einschalten. Wenn Sie dies verhindern möchten, können Sie die Zeit im Job selbst überprüfen, wie hier vorgeschlagen: Wie verhindert man, dass atd frühere Jobs ausführt?

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.