web-dev-qa-db-fra.com

Comment changer le niveau de journalisation cron?

J'ai remplacé exec cron par exec cron -L 15 l'exécution Sudo service cron reload, Sudo service cron restart mais rien n'a changé. Cron ne consigne pas la fin des travaux et les travaux en échec. Je n'ai aucun problème dans Ubuntu 14.04, mais maintenant, j'ai ce problème dans Ubuntu 16.04. Qu'est-ce que je fais mal?

Pas à pas: D'abord, j'ai changé /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

Alors maintenant c'est

$ 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

J'ai fait la même configuration dans mon Ubuntu 16.04 ainsi que sur Ubuntu 14.04 sur un autre PC.

Le journal Cron dans Ubuntu 14.04 est le suivant:

$  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)

Ainsi, vous pouvez voir la deuxième ligne avec une notification d'erreur concernant la commande inexistante foo. Mais dans Ubuntu 16.04, il n'y a pas de notification d'erreur dans le journal:

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

À partir de Ubuntu 15.04, version ultérieure utilisant _/etc/init/*.conf_ est remplacé par systemd en utilisant les fichiers de configuration dans _/lib/systemd/system/_ et _/etc/systemd/system/_. Bien qu'un fichier _/etc/init/cron.conf_ existe toujours dans Ubuntu 16.04, le script normalement utilisé pour démarrer cron est maintenant /lib/systemd/system/cron.service. Si vous souhaitez ajouter des options supplémentaires, éditez ce fichier avec

_Sudo systemctl edit --full cron
_

et remplacer la ligne

_ExecStart=/usr/sbin/cron -f $EXTRA_OPTS
_

au revoir. g.

_ExecStart=/usr/sbin/cron -L 15 -f $EXTRA_OPTS
_

Pour recharger la configuration, exécutez _Sudo systemctl restart cron_ ou redémarrez simplement. Vous pouvez tester la commande exacte avec laquelle un service a été démarré avec _systemctl status_, e. g. pour cron (voir dernière ligne):

_> 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