crontabのログファイルはどこにありますか?


9

/ var / log / cronなし、/ debian7に/var/log/cron.logなし、crontabのログファイルはどこにありますか?

ls /var/log/cron*
ls: cannot access /var/log/cron*: No such file or directory

回答:


13

debian cronはログに書き込みますと思います/var/log/syslog
お使いのシステムには依存している場合rsyslogsyslogd、あなたはどちらかにチェックして、コメントを解除することができます/etc/rsyslog.confまたは/etc/syslog.confラインのために:

# cron.* /var/log/cron.log

その後、サービスを再起動します。

たとえば、システムが依存しsystemdている場合は、次のコマンドで確認できます。

journalctl _COMM=cron

または

journalctl _COMM=cron --since="date" --until="date"

日付形式については、journalctlを確認できます。


私のdebian7には/etc/rsyslog.conと/etc/syslog.confはありません。
it_is_a_literature 2015年

最初のファイルがタイプミスである場合、systemdを使用していない場合、タイプミスは/etc/rsyslog.confである必要があります。
taliezin

どうsudo journalctl --since yesterday -u cron.serviceですか?なに_COMM
ダッシュ1995年

4

デフォルトでは、crontabジョブからの出力は、所有ユーザーのローカル電子メールアドレスに送信されます。例:ホストwww.aDomain.comのaUsercrontab出力は、aUser@www.aDomain.comに送信されます。システムは、デフォルトのメーラーを使用してタスクを実行します。

MAILTOcrontabファイル内にステートメントを追加することで、この出力を別の電子メールアドレスに転送できます。例えば:

# Mail any output to myuser@gmail.com, no matter whose crontab this is
MAILTO=myuser@gmail.com
# Run the following command ten minutes after midnight, every day
10 0 * * *       $HOME/bin/aJob.sh 

外部電子メールアドレスを使用してcrontabログを受信するときは注意してください。頻繁に送信されるメッセージは、スパムフィルターに捕まる可能性があります。次に、Yahoo、HotMail、Gmailなどのサービスで、メッセージをスパムでないとマークする必要があります。

別の解決策は、crontabコマンドの出力を任意のファイルにリダイレクトすることです。以下の例ではstdoutstderr出力はに送信され/tmp/aJob.logます。この方法により、電子メールメッセージが送信される可能性がなくなります。

# Run the following command ten minutes after midnight, every day
10 0 * * *       $HOME/bin/aJob.sh >> /tmp/aJob.log 2>&1

別の方法は、stderrログを電子メールに送信し、stdoutログをファイルに送信することです。この場合、crontabコマンドが予期しないエラーメッセージを生成したときに、電子メールで警告を受けます。前の例との違いは、出力がコンソールに送られ、それにより電子メールに送ら2>&1れるように削除されていることstderrです。

# Mail any output to myuser@gmail.com, no matter whose crontab this is
MAILTO=myuser@gmail.com    
# Run the following command ten minutes after midnight, every day
10 0 * * *       $HOME/bin/aJob.sh >> /tmp/aJob.log

crontabテーブルcrontabコマンドの詳細を読む


1

これはタグ付けされたdebianではなく、fedora検索にも表示されるため、最近の(systemdベースの)fedoraを確認する方法は次のとおりです。

sudo systemctl status crond

典型的な出力

 crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-09-29 16:09:21 CEST; 47min ago
 Main PID: 1167 (crond)
    Tasks: 1
   Memory: 2.8M
      CPU: 948ms
   CGroup: /system.slice/crond.service
           └─1167 /usr/sbin/crond -n

Sep 29 16:09:21 ncelrnd0216 systemd[1]: Started Command Scheduler.
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) STARTUP (1.5.4)
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) INFO (Syslog will be used instead of sendmail.)
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 31% if used.)
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) INFO (running with inotify support)

allログ

journalctl --unit crond -n all
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.