cronが私のタスクを実行していないのはどうすればわかりますか?

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新しいcrontabがインストールされ、/var/spool/cron/crontabs/rootcronが/etc/crontab

利用可能なデバッグオプションはありますか?それとも、調査できるエラーメッセージを表示できるログがありますか?

答え1

職場での問題のデバッグに関する追加サポートを受けるには、cron電子メールを確認する必要があります。これは通常/var/mail/<user_name>、または同様のファイルに保存されます/var/spool/mail/<user_name>

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

説明する

cron(8)ページから:

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

答え2

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

マイコンピュータ(centos 6.4)の/etc/cron.daily/ディレクトリにmlocate.cronがあり、cronは毎日スクリプトを実行します。

だからcronジョブを追加すればいいと思います。

答え3

権限を次に変更して/etc/crontab問題を解決しました。

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

以前に-rw-rw-r--。これが唯一の変更です。以前は動作しませんでしたが、今は動作します。まだ理由がわからない。

答え4

同様の問題がありましたが、rootをユーザーとして指定した後、/etc/crontabcronジョブの実行が開始されました。

crontab -eこれは、次の構文が原因である可能性があります/etc/crontab

関連情報