Ho sostituito exec cron
con exec cron -L 15
l'esecuzione sudo service cron reload
, sudo service cron restart
ma nulla è cambiato. Cron non registra la fine dei lavori e non registra i lavori non riusciti. Non ho avuto problemi con Ubuntu 14.04, ma ora ho questo problema con Ubuntu 16.04. Cosa sbaglio?
Passo dopo passo:
Per prima cosa ho modificato /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
Così ora è
$ 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
Ho eseguito la stessa configurazione sul mio Ubuntu 16.04 e su Ubuntu 14.04 su un altro PC.
Il registro Cron in Ubuntu 14.04 è il seguente:
$ 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)
Quindi puoi vedere la seconda riga con la notifica di errore sul comando inesistente foo
. Ma in Ubuntu 16.04 non ci sono notifiche di errore nel registro:
Aug 26 16:25:01 my CRON[7259]: (y) CMD (foo # JOB_ID_129)
Migliore risposta
Da Ubuntu 15.04 in poi, upstart usando /etc/init/*.conf
è sostituito da systemd utilizzando i file di configurazione in /lib/systemd/system/
e /etc/systemd/system/
. Sebbene sia un file /etc/init/cron.conf
è ancora esistente in Ubuntu 16.04, lo script normalmente utilizzato per avviare cron
ora è /lib/systemd/system/cron.service
. Se vuoi aggiungere opzioni extra, modifica questo file con
sudo systemctl edit --full cron
e sostituisci la linea
ExecStart=/usr/sbin/cron -f $EXTRA_OPTS
addio. g.
ExecStart=/usr/sbin/cron -L 15 -f $EXTRA_OPTS
Per ricaricare la configurazione, esegui sudo systemctl restart cron
o semplicemente riavviare. Puoi verificare con quale comando esatto è stato avviato un servizio utilizzando systemctl status
, e. g. per cron
(vedi ultima riga):
> 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