我在运行 Ubuntu 12.04 的机器上使用自定义 Linux Kernel 3.2.1 有一段时间了,今天我想安排一个 cron 任务,发现 crontab 中的 crons 没有被执行。
cron
服务正在运行,因此我相信这可能是我遗漏的某些内核配置选项的问题,但不要弄清楚可能是什么。有什么建议吗?
最佳答案
我认为自定义内核不会产生太大的不同。也许……但不是我首先要看的东西。
首先,检查运行 cron 的用户是否有本地邮件(检查/var/spool/mail/)。如果有错误,可能会写在那里。如果不是,请尝试将程序的 stderr 和 stdout 重定向到一个文件。例如。添加到您的 cron:
SHELL = /bin/bash
PATH = /usr/bin/:/bin
* * * * * ls /tmp > $HOME/ls_tmp.log 2>&1
我认为 ubuntu 上 cron 的默认 shell 是 sh 而不是 bash,所以我喜欢将它设置为 bash 以避免 bash/sh 问题。我也喜欢明确说明路径(并将添加 ~/bin 到它的开头,用于我的本地脚本)。
关于Linux crontab 不执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11662209/