Di mana menemukan log Crontab di CentOS

37

Pertama-tama saya menggunakan CentOS

 [root@a etc]# cat system-release
 CentOS release 6.5 (Final)

[root@a cron.daily]# ps -ef | grep cron
root       982     1  0 Jun14 ?        00:01:15 crond
root      5692  5441  0 00:49 pts/0    00:00:00 grep cron
[root@a cron.daily]#

Dan saya kehabisan sumber daya saya, jadi saya ingin menghapus file-file log lama. Dalam hal ini saya ingin menghapus log-log aman lama yang ukurannya hampir lebih dari 100MB, Jadi saya memberikan entri crontab di bawah ini untuk rootpengguna .

[root@a etc]# crontab -l
0 1 * * * find /var/log -name "secure-*" -mtime +5 -exec rm {} \;
[root@a etc]#

Setelah beberapa hari kemudian saya mengetahui bahwa entri crontab ini tidak berfungsi dan saya masih melihat file-file lama.

[root@a log]# find /var/log -name "secure-*"
/var/log/secure-20141214
/var/log/secure-20141107
/var/log/secure-20141130
/var/log/secure-20141221
[root@a log]#

Kemudian saya mencoba mencari log crontab di bawah direktori /etc/crontab.daily dan tidak menemukan hasil yang relevan. Di mana menemukan log crontab dan bagaimana cara mengetahui apakah crontab berjalan dengan sukses atau tidak?

Utama
sumber

Jawaban:

58

Log cron pada CentOS 6 terletak /var/log/cronsecara default. Ini hanya mencatat eksekusi perintah, bukan hasil atau status keluar. Output dari perintah yang dieksekusi pergi ke mail pengguna secara default (mail root dalam kasus ini). Email alternatif dapat ditentukan oleh variabel MAILTO di dalam crontab.

Anda harus melihat logrotateaturan penyesuaian , bukan kebiasaan Anda cron, yang sudah menangani penghapusan / var / log / log aman.

jordanm
sumber
2
Anda dapat menggunakan run-parts stackoverflow.com/questions/4984725/how-to-test-cron-job untuk menguji cron dan memeriksa output perintah di /var/spool/mail/(user) superuser.com/questions/306163/…
Junior M