Saya mengganti exec cron
dengan exec cron -L 15
jalankan sudo service cron reload
, sudo service cron restart
tapi tidak ada yang berubah. Cron tidak mencatat akhir pekerjaan dan tidak mencatat pekerjaan yang gagal. Saya tidak punya masalah di Ubuntu 14.04, tapi sekarang saya punya masalah ini di Ubuntu 16.04. Apa yang saya lakukan salah?
Langkah demi Langkah:
Pertama saya mengubah /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
Jadi sekarang
$ 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
Saya membuat konfigurasi yang sama di Ubuntu 16.04 saya serta di Ubuntu 14.04 di PC lain.
Log Cron di Ubuntu 14.04 adalah sebagai berikut:
$ 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)
Jadi Anda dapat melihat baris kedua dengan pemberitahuan kesalahan tentang tidak ada perintah foo
. Tapi di Ubuntu 16.04 tidak ada notifikasi error di log:
Aug 26 16:25:01 my CRON[7259]: (y) CMD (foo # JOB_ID_129)
Jawaban Terbaik
Dari Ubuntu 15.04, pemula menggunakan /etc/init/*.conf
digantikan oleh systemd menggunakan file konfigurasi di /lib/systemd/system/
dan /etc/systemd/system/
. Meskipun file /etc/init/cron.conf
masih ada di Ubuntu 16.04, skrip biasanya digunakan untuk memulai cron
sekarang adalah /lib/systemd/system/cron.service
. Jika Anda ingin menambahkan opsi tambahan, edit file ini dengan
sudo systemctl edit --full cron
dan ganti baris
ExecStart=/usr/sbin/cron -f $EXTRA_OPTS
selamat tinggal. g.
ExecStart=/usr/sbin/cron -L 15 -f $EXTRA_OPTS
Untuk memuat ulang konfigurasi, jalankan sudo systemctl restart cron
atau hanya reboot. Anda dapat menguji perintah persis apa yang dimulai dengan layanan menggunakan systemctl status
, e. g. untuk cron
(lihat baris terakhir):
> 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