Comment empêcher atd de courir après les travaux?

Le démon at est un excellent outil! Cependant, si un travail est planifié pour 8 heures du matin et que la machine est éteinte à ce moment-là, elle exécutera le travail chaque fois que la machine est démarrée. Ce que j'aimerais faire, c'est l'empêcher d'exécuter le travail si le time est écoulé. J'ai cherché dans les pages de manuel et en ligne, mais soit il n'y a pas de réponse, soit je n'en ai pas trouvé. J'utilise Arch, mais pour autant que je sache, il est très similaire à travers les dissortingbutions.

Toute aide est très appréciée!

Quand un emploi devient-il un emploi passé? Si vous allumez le système à 7:59:50 et que le démon at commence à 8:00:01 , le travail doit-il être exécuté? Que faire si le démon commence à 7:59:59 mais prend deux secondes pour lire tous ses files?

Tu décides! Commencez votre travail avec un contrôle du time, et abandonnez si le time est passé.

 export execute_by_date=$(date +%s 'tomorrow 8:01') at tomorrow 8:00 [ "$(date +%s)" -le "$execute_by_date" ] || exit do_stuff ␄ 

Vous pouvez écrire un script d'initialisation qui annule tous les jobs at-off lors de l'arrêt ou du redémarrage.

Je ne suis pas sûr d'Arch-Linux – y a-t-il /etc/sysconfig/at ou quelque chose de similaire? Peut-être que c'est juste un config-switch que vous devez returnner …

Mon vote est pour le démon cron .

Si vous devez l'exécuter à des heures précises de la journée, mais pas à la même heure chaque jour, je créerais un crontab avec une input par jour avec un time d'exécution spécifique:

Quelques exemples tirés de crontab(5) :

 # run five minutes after midnight, every day 5 0 * * * command # run at 2:15pm on the first of every month 15 14 1 * * command # run at 10 pm on weekdays 0 22 * * 1-5 command 

Ce que vous voulez est le démon cron. Il fait exactement ce que vous voulez.

Nourrissez votre moteur de search préféré pour le démon cron et vous avez un tas de manuels et d'instructions. man cron et man crontab est également utile.