为何我的 cron 不工作?

为何我的 cron 不工作?

我安装了 Ubuntu 14.04.5,并且尝试运行 cron,但它不起作用。

$ whoami
root

$ crontab -e
#append at the end of the file
* * * * * env > /tmp/env_root.output
#save and quit :wq

$ less /var/log/cron.log
......
Sep 22 20:15:01 myserver CRON[2993]: (root) CMD (env > /tmp/env_root.output)

$ ls -la /tmp/env_root.output
ls: cannot access /tmp/env_root.output: No such file or directory

这是为什么?我是 root,我应该能够编辑文件,Cron 日志显示它已被更改,但没有文件。如果我在当前 GNU BASH shell 中甚至在 /bin/sh 中运行该命令,它会起作用,但在 Cron 中不起作用。

我做错了什么?Ubuntu 是否有类似 SELinux 的东西,我可能错误地启用了它?我使用 Ansible 配置我的服务器,而且我不是唯一一个在 Ansible 角色上工作的人。

谢谢

编辑:这是我的 /etc/crontab 的样子,它运行 /usr/bin/myscript.sh https://paste.fedoraproject.org/433591/74650461/

答案1

解决 cron 作业问题的最佳方法是近乎实时地观察 cron 输出。

本问答描述了越狱过程syslog,使系统创建cron.log并监控它:

16.04:如何让 cron 创建 cron.log 并实时监控它?

将日志级别更改为 15 非常有帮助,这样它不仅显示开始时间,还显示错误和停止时间:

如何更改 cron 日志级别?

相关内容