web-dev-qa-db-ja.com

cronログレベルを変更する方法

exec cronexec cron -L 15に置き換え、実行Sudo service cron reloadSudo service cron restartを変更しましたが、何も変わりませんでした。 Cronはジョブの終了を記録せず、失敗したジョブを記録しません。 Ubuntu 14.04では問題ありませんでしたが、Ubuntu 16.04ではこの問題が発生しました。何が間違っていますか?

ステップバイステップ:最初に/etc/init/cron.confを変更しました:

Sudo sed -i 's|exec cron$|exec cron -L15|' /etc/init/cron.conf && Sudo restart cron && cat /etc/init/cron.conf

だから今は

$ cat /etc/init/cron.conf
# cron - regular background program processing daemon
#
# cron is a standard UNIX program that runs user-specified programs at
# periodic scheduled times

description "regular background program processing daemon"

start on runlevel [2345]
stop on runlevel [!2345]

expect fork
respawn

exec cron -L 15

Ubuntu 16.04と別のPCのUbuntu 14.04で同じ設定を行いました。

Ubuntu 14.04のCronログは次のとおりです。

$  grep CRON /var/log/syslog
Aug 26 16:05:01 y1404 CRON[6825]: (y) CMD (foo # JOB_ID_1)
Aug 26 16:05:01 y1404 CRON[6824]: (CRON) error (grandchild #6825 failed with exit status 127)

そのため、存在しないコマンドfooに関するエラー通知のある2行目を見ることができます。ただし、Ubuntu 16.04では、ログにエラー通知はありません。

Aug 26 16:25:01 my CRON[7259]: (y) CMD (foo # JOB_ID_129)
1
max5555

Ubuntu 15.04以降、pstart/etc/init/*.confの使用はsystemd/lib/systemd/system/および/etc/systemd/system/の設定ファイルの使用に置き換えられました。ファイル/etc/init/cron.confはまだUbuntu 16.04に存在しますが、cronを開始するために通常使用されるスクリプトは/lib/systemd/system/cron.serviceです。追加のオプションを追加する場合は、このファイルを編集します

Sudo systemctl edit --full cron

そして、行を置き換えます

ExecStart=/usr/sbin/cron -f $EXTRA_OPTS

e。 g。

ExecStart=/usr/sbin/cron -L 15 -f $EXTRA_OPTS

設定をリロードするには、Sudo systemctl restart cronを実行するか、単に再起動します。 systemctl statusを使用して、サービスが開始された正確なコマンドをテストできます。 g。 cronの場合(最終行を参照):

> systemctl status cron
● cron.service - Regular background program processing daemon
   Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
   Active: active (running) since So 2017-08-27 09:56:18 CEST; 1h 15min ago
     Docs: man:cron(8)
 Main PID: 26021 (cron)
   CGroup: /system.slice/cron.service
           └─26021 /usr/sbin/cron -f
1
dessert