Est-ce que `at` exécute une commande plus tard si l'ordinateur est éteint à l'heure spécifiée?

20

Je veux planifier des tâches avec at, mais je ne sais pas ce qui se passe si l'ordinateur est suspendu à l'heure spécifiée: la commande sera-t-elle exécutée dès que l'ordinateur se réveillera à nouveau (comme avec anacron) ou ne sera-t-elle pas exécutée du tout (comme avec cron)?

Si vous spécifiez un travail à exécuter absolument à une heure et une date spécifiques dans le passé, le travail s'exécutera dès que possible.

C'est ce que la page de manuel dit à ce sujet, mais cela ne correspond pas tout à fait à mon cas: je ne veux pas spécifier un travail à exécuter dans le passé, je veux l'exécuter à l'avenir et demander comment atle traitera si l'ordinateur dort alors.

Il ne s'agit pas d'un doublon de la commande Exécuter à lorsque l'ordinateur est enat veille, car cette question demande si réveillera l'ordinateur pour exécuter la commande, ni d'un doublon de Comment empêcher atd d'exécuter des travaux antérieurs? car il s'agit de savoir comment empêcher l' atexécution de ces "anciens" travaux (avec une très bonne réponse quand même!).

dessert
la source

Réponses:

20

atexécute toute commande qui aurait dû être exécutée avant le réveil de l'ordinateur, mais cela peut prendre quelques minutes. Peu importe que vous lui ayez donné une date spécifique , car vous pouvez facilement tester:

$ 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

Ainsi, un travail que vous ajoutez à l'aide at 20:00 todaypeut très bien être exécuté soudainement trois jours plus tard lorsque vous rallumez votre ordinateur. Si vous voulez empêcher cela, vous pouvez vérifier l'heure dans le travail lui-même comme proposé ici: Comment empêcher atd d'exécuter des travaux passés?

dessert
la source