at和cron作业的输出到哪里去?


9

鉴于没有要显示的屏幕,标准输出atcron任务去了哪里?

它没有出现在启动作业的目录中,也没有出现在我的主目录中。

鉴于我不知道如何调试或跟踪后台作业,我该如何实际解决呢?


输出通常通过电子邮件发送。
donothing成功地

我建议使用mutt,“一个很小但功能非常强大的基于文本的邮件客户端”来读取输出。我使用过的每个发行版都在存储库中。
kwarrick 2012年

Answers:


10

在cron手册页中:

执行命令时,任何输出都将邮寄到crontab的所有者(或存在crontab的MAILTO环境变量中命名的用户)。在syslog和ps输出中可以看到,运行这些进程的cron的子级副本的名称被强制为大写。

因此,您应该检查您/ root用户的邮件或系统日志(例如/ var / log / syslog)。


在我的Mac上,只需调用“ cron”,它就会显示“电子邮件”的路径。就我而言,它是/ var / mail / <用户名>。
塞德里克Guillemette

4

对于长时间运行的流程,有时在收到电子邮件之前了解输出是有用的,我改用以下方法:

  1. 使用ps找到你正在运行的程序(进程ID PID 下);
  2. 用于lsof查找将输出写入的文件:

    lsof -p PID
    

在输出中,在列标题下查找1u2uFD

这些行将告诉您在通过邮件发送之前,过程输出将进入哪些临时文件。通常,对于at,文件位于下/var/spool/cron/atjobs/。最后,显示该文件,您将找到进程的(当前)输出。


下的文件1u,并2u有型UNIX。我猜这些是UNIX套接字。我现在如何查看文件?
kapad
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.