After installing a new CentOS 6.0 server, logrotate was working absolutely fine. Then one day due to a kernel panic, the server had to be hard booted, and ever since log rotation is not rotating the logs.
So I did a separate cron entry to rotate logs manually and forcefully and redirected the output to a log file, and got the following lines for each file:
rotating pattern: /home/mail3/log/popMailProcessing.log forced from command line (60 rotations) empty log files are rotated, old logs are removed considering log /home/mail3/log/popMailProcessing.log error: stat of /home/mail3/log/popMailProcessing.log failed: Permission denied
However, if I do a logrotation manually from command line, it works flawlessly. The command I use on command line is:
logrotate -v -f /etc/logrotate.d/mail3-logs
The log rotation file which logrotate uses via cron job can be seen here.
My crontab entry is:
03 00 * * * root /usr/sbin/logrotate -f -v /etc/logrotate.d/mail3-logs &>> /var/log/logrotate/rotate.log
SELinux is enforcing, and it was enforcing prior to the hard boot too. The directory where the logs are kept have the root as their owner and directory has complete permissions.
Any clue what is causing the permission denied error?