質問: cronエラーはどこに記録されますか? cronジョブを誤って設定すると、警告なしで失敗したように見えます。何が問題だったかを理解するために、どこでエラーログを探す必要がありますか?
回答: 他の人が指摘したように、cronは、実行するプログラムの出力をメールで送信します(出力がある場合)。したがって、出力が得られない場合、基本的に3つの可能性があります。 crondは、プログラムを実行したりメールを送信したりするためのシェルを開始することさえできませんでした crondは出力のメール送信に問題があったか、メールが失われました。 プログラムは出力を生成しませんでした(エラーメッセージを含む) ケース1.は非常にまれですが、何かがcronログに書き込まれているはずです。 cronには独自の予約済みsyslog機能があるため、/etc/syslog.conf(またはディストリビューション内の同等のファイル)を調べて、機能cronのメッセージの送信先を確認する必要があります。人気の目的地には、/var/log/cron、/var/log/messages、/var/log/syslogがあります。ケース2.の場合、メーラーデーモンログを検査する必要があります。cronデーモンからのメッセージは、通常root@yourhostからのように表示されます。 crontabファイルのmailto=...行を使用して、cronが特定のアドレスにメールを送信するように設定できます。これにより、メーラーデーモンのログをgrepしやすくなります。例えば:mailto=my.offsite.email@example.org 00 15 * * * echo "just testing if crond sends email" ケース3.では、効果を簡単に確認できる別のコマンドを追加して、プログラムが実際に実行されたかどうかをテストできます。たとえば、00 15 * * * /a/command; touch /tmp/a_command_has_run したがって、crondが実際に何かを実行したかどうかを確認するには、/tmp/a_command_has_runのmtimeを調べます。