1

しばらくの間、Ubuntu 12.04 を実行しているマシンでカスタム Linux Kernel 3.2.1 を使用してきました。今日、cron タスクをスケジュールしたいと思っていたのですが、crontab の cron が実行されていないことに気付きました。

サービスは実行され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のデフォルトシェルはbashではなくshだと思うので、bash/shの問題を回避するためにbashに設定するのが好きです。また、パスについて明示的にするのも好きです(ローカルスクリプトの場合は、パスの先頭に〜/ binを追加します)。

于 2012-07-26T04:25:46.343 に答える
2

ログ ファイルには、失敗の説明が含まれている必要があります。

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