exec cron
をexec cron -L 15
に置き換え、実行Sudo service cron reload
、Sudo 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)
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