Saya menggunakan Ubuntu 14.04, dan daemon cron berjalan:
# ps ax | grep cron
822 ? Ss 0:00 cron
tetapi tidak melakukan pekerjaan apa pun. Saya sebelumnya mendapatkan entri /var/log/syslog
seperti ini:
2014-05-04T11:47:01.839754+01:00 localhost CRON[29253]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ))
tapi sekarang tidak ada entri terkait cron. Saya juga mendapatkan entri seperti ini di /var/log/auth.log
:
2014-05-04T11:47:01.839183+01:00 localhost CRON[29252]: pam_unix(cron:session): session opened for user root by (uid=0)
2014-05-04T11:47:13.495691+01:00 localhost CRON[29252]: pam_unix(cron:session): session closed for user root
tetapi sekali lagi, sekarang tidak ada entri yang berhubungan dengan cron.
Saya tidak sadar bahwa ada yang berubah. Saya telah mencoba memulai ulang cron:
# service cron restart
cron stop/waiting
cron start/running, process 24907
Saya mencoba menggunakan crontab -e
untuk menambahkan pekerjaan cron * * * * * date >> /tmp/somefile
yang berhasil, tetapi ia menginstal crontab baru /var/spool/cron/crontabs/root
, sedangkan saya ingin cron menggunakan file tersebut /etc/crontab
.
Apakah ada opsi debug yang bisa saya gunakan, atau log di suatu tempat yang mungkin memberikan pesan kesalahan yang bisa saya selidiki?
no crontab for root
.crontab
perintah (-l
switch) tergantung pada pengguna, sementara/etc/crontab
digunakan untuk menyimpan crons seluruh sistem. Karena alasan ini, tugas yang disimpan/etc/crontab
tidak akan muncul di siapa puncrontab -l
.Jawaban:
Untuk lebih lanjut membantu Anda men-debug apa yang salah dengan
cron
pekerjaan Anda, Anda harus memeriksa email Anda. Ini biasanya disimpan dalam file seperti/var/mail/<user_name>
atau/var/spool/mail/<user_name>
.Kedua file ini sebenarnya adalah hardlink di kotak Debian saya, tetapi saya tidak tahu apakah ini standar.
Penjelasan
Dari
cron(8)
halaman:sumber
Anda telah menunjukkan bahwa tidak ada crontab untuk root, apakah ada pengguna yang memiliki entri crontab? Jika Anda hanya menggunakan root maka Anda juga bisa memeriksa direktori berikut: /etc/cron.daily/ - /etc/cron.hourly/ - /etc/cron.monthly/ - /etc/cron.weekly
pada mesin saya (centos 6.4) saya memiliki mlocate.cron di dalam direktori /etc/cron.daily/ dan cron menjalankan skrip itu setiap hari.
jadi saya pikir Anda hanya perlu menambahkan pekerjaan cron.
sumber
/etc/crontab
. Mungkin pertanyaannya adalah mengapacrontab -l
tidak mengakuinya?Saya menyelesaikan ini dengan mengubah izin
/etc/crontab
menjadi sebagai berikut:Sebelumnya itu
-rw-rw-r--
. Itu satu-satunya perubahan. Itu tidak berfungsi, sekarang. Masih belum yakin kenapa.sumber
Saya juga memiliki jenis masalah yang serupa, tetapi setelah menentukan root sebagai pengguna pada
/etc/crontab
, tugas cron mulai memicu.Mungkin karena sintaks yang diikuti pada
crontab -e
yang berbeda dari/etc/crontab
.sumber