1

我在运行 Ubuntu 12.04 的机器上使用自定义 Linux Kernel 3.2.1 已经有一段时间了,今天我想安排一个 cron 任务并意识到 crontab 中的 crons 没有被执行。

cron服务正在运行,所以我认为这可能是我错过的某些内核配置选项的问题,但不知道可能是什么。有什么建议吗?

4

2 回答 2

3

我认为自定义内核不会有太大的不同。也许......但不是我要看的第一件事。

首先,检查运行 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 添加到它的开头,用于我的本地脚本)。

于 2012-07-26T04:25:46.343 回答
2

日志文件必须包含失败描述:

cat /var/log/syslog | grep cron -C 1
于 2012-07-26T12:05:05.637 回答