web-dev-qa-db-ja.com

cronがジョブを実行していない理由を確認するにはどうすればよいですか?

Ubuntu 14.04を使用していますが、cronデーモンが実行されています。

# ps ax | grep cron
822 ?        Ss     0:00 cron

ただし、ジョブは実行されていません。以前は次のような/var/log/syslogのエントリを取得していました:

2014-05-04T11:47:01.839754+01:00 localhost CRON[29253]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ))

しかし、現在、cron関連のエントリはありません。 /var/log/auth.logにも次のようなエントリがありました。

2014-05-04T11:47:01.839183+01:00 localhost CRON[29252]: pam_unix(cron:session): session opened for user root by (uid=0)
2014-05-04T11:47:13.495691+01:00 localhost CRON[29252]: pam_unix(cron:session): session closed for user root

ただし、繰り返しになりますが、cron関連のエントリはありません。

私は何かが変わったことを知りません。私はcronを再起動してみました:

# service cron restart
cron stop/waiting
cron start/running, process 24907

crontab -eを使用してcronジョブ* * * * * date >> /tmp/somefileを追加しようとしましたが、/var/spool/cron/crontabs/rootに新しいcrontabがインストールされましたが、cronが/etc/crontabのファイルを使用するようにしました。

使用できるデバッグオプションや、調査可能なエラーメッセージが表示される可能性のあるログはありますか?

15
jl6

cronジョブの問題のデバッグをさらに支援するには、メールを確認する必要があります。これは通常、_/var/mail/<user_name>_または_/var/spool/mail/<user_name>_のようなファイルに保存されます。

これら2つのファイルは、実際には私のDebianボックスのハードリンクですが、これが標準かどうかはわかりません。

説明

cron(8)ページから:

コマンドを実行すると、出力はcrontabの所有者(または、存在する場合はcrontabのMAILTO環境変数で指定されたユーザー)にメールで送信されます。

4
Joseph R.

私も同様のタイプの問題を抱えていましたが、/etc/crontabでrootをユーザーとして指定した後、cronジョブがトリガーを開始しました。

crontab -eとは異なる/etc/crontabの構文が原因である可能性があります。

0
MohanBabu

Rootのcrontabがないことを示しましたが、どのユーザーにもcrontabエントリがありますか? rootのみを使用している場合は、次のディレクトリも確認できます。/etc/cron.daily/-/etc/cron.hourly/-/etc/cron.monthly/-/etc/cron.weekly

私のマシン(centos 6.4)では、/ etc/cron.daily /ディレクトリ内にmlocate.cronがあり、cronはそのスクリプトを毎日実行します。

したがって、cronジョブを追加する必要があるだけだと思います。

0
Hudspeth

/etc/crontabの権限を次のように変更することで、これを解決しました:

-rw-r--r-- 1 root root 778 May 10 21:31 /etc/crontab

以前は-rw-rw-r--でした。それが唯一の変化でした。機能していませんでしたが、今は機能しています。それでも理由はわかりません。

0
jl6