如何防止 atd 运行过去的工作?

Elm*_*mer 9 scheduling time daemon at

at 守护进程是一个很棒的工具!但是,如果作业安排在上午 8:00 并且机器在那个时间关闭,则只要机器启动,at 就会运行作业。如果时间过去了,我想做的是阻止它运行工作。我已经搜索了手册页和在线,但要么没有答案,要么找不到。我正在使用 Arch,但据我所知 at 跨发行版非常相似。

任何帮助深表感谢!

Gil*_*il' 7

什么时候工作变成过去的工作?如果您在 7:59:50 开启系统并且at守护进程从 开始8:00:01,是否应该执行作业?如果守护进程在 7:59:59 开始但需要两秒钟才能读取其所有文件怎么办?

你决定!以时间检查开始您的工作,如果时间已过则中止。

export execute_by_date=$(date +%s 'tomorrow 8:01')
at tomorrow 8:00
[ "$(date +%s)" -le "$execute_by_date" ] || exit
do_stuff
?
Run Code Online (Sandbox Code Playgroud)