我已经运行 atd 并且提交了作业并收到了作业编号,但是看起来作业立即失败了,因为它看起来想要发送邮件:
Feb 24 20:22:43 0 atd[30592]: pam_unix(atd:session): session opened for user root by (uid=1)
Feb 24 20:22:43 0 atd[30592]: pam_unix(atd:session): session closed for user root
Feb 24 20:22:43 0 atd[30592]: Exec failed for mail command: No such file or directory
我没有 /etc/at.allow,只有 /etc/at.deny,所以我怀疑这不是问题所在。如果我直接调用我尝试运行的可执行文件,它确实可以工作,但使用 at 则不行。
我尝试在调试模式下运行:
atd -d -f
希望我可以看到一些有用的内容,但是当我再次调用该作业时没有得到任何输出。
答案1
我很难理解我的情况出了什么问题。我实际上使用了 Ansible 模块at
。
我注意到 atd 在目录中 /var/spool/cron/atjobs/
为每个任务创建了一个文件,其中包含守护进程应该运行的精确 Shell 脚本。
可以运行此脚本以获取有关错误的更多详细信息。事实证明,在我的情况下,Ansible 将当前目录更改为某个临时目录,并且该目录在计时器触发之前被删除。