cron.daily and logrotate

I am confused about cron.daily in my RedHat 9.0 system.

If I see when it will be executed :

# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

Then, the cron.daily will be executed everyday at 04:02 AM, right?

If I look into /etc/cron.daily, I saw this :

# cd /etc/cron.daily
# ls
00-logwatch 0anacron logrotate makewhatis.cron rpm slocate.cron tmpwatch

It runs "logrotate". So, in my understanding, the log files will be rotated EVERYDAY (depends on /etc/logrotate.conf).

Here is the content of /etc/logrotate.conf :

# cat /etc/logrotate.conf
weekly
rotate 4
create
#compress
include /etc/logrotate.d
# no packages own wtmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}

Then, logrotate will execute all configuration in /etc/logrotate.d, for example :

# cat /etc/logrotate.d/syslog
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}

But why, those logs are NOT rotated everyday ?

# ls -l /var/log
-rw------- 1 root root 8693 Oct 30 08:01 cron
-rw------- 1 root root 14349 Oct 26 04:02 cron.1
-rw------- 1 root root 14464 Oct 19 04:02 cron.2
-rw------- 1 root root 7153 Oct 12 04:02 cron.3
-rw------- 1 root root 10162 Oct 30 07:38 messages
-rw------- 1 root root 61375 Oct 26 02:48 messages.1
-rw------- 1 root root 51918 Oct 19 01:38 messages.2
-rw------- 1 root root 51224 Oct 9 21:41 messages.3

See the date? In my understanding above, it should be rotated everyday. But why NOT ?

I checked in 3 RedHat 9.0 boxes, and all are the same situation. Am I missing something or misunderstood ?

Because I tried to run webalizer through logrotate of httpd :

/var/log/httpd/*log /home/www/mydomain.com/logs/*log {
missingok
notifempty
sharedscripts
prerotate
/usr/bin/webalizer
endscript
postrotate
/bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
endscript
}

But with this situation, it does not executed cron.daily and logrotate

So I just confused. Please help.

Thank you

 

 

 

 

Top