Where does logrotate save its own log?
I have logrotate
running in an EC2 AWS machine rotating Apache logs. Once packed, Apache logs are saved into AWS S3 via s3fs. The problem is that I recently noticed that I didn't have logs rotated. In S3 I have old logs from day 48->60 but the 1->47 doesn't appear.
My question is: Where does logrotate save its own log? It's possible that I have some kind of problem with s3fs, but I need to know before I do anything. I tried to find somewhere the logs but I couldn't find it out.
Any idea?
Solution 1:
logrotate
does not log anything by default. normally it should be in your cron somewhere, for instance:
$ grep -r -- 'logrotate.conf' /etc/cron*
/etc/cron.daily/logrotate:/usr/sbin/logrotate /etc/logrotate.conf
You can either run that manually to see what is wrong, or redirect the logrotate output to a file in the above cron to see what happened next day.
Likely somewhere the config is incorrect and caused the logrotate run to break.
Solution 2:
The only thing that logrotate records normally is in cat /var/lib/logrotate/status
.
This is taken from https://serverfault.com/a/518134/266525
Solution 3:
Another good place to look is /var/log/messages
on CentOS for errors such as this from the cron.daily /etc/cron.daily/logrotate
logrotate: ALERT exited abnormally with [1]
You can also run in debug mode manually and check for errors:
/usr/sbin/logrotate -d /etc/logrotate.conf
Source: https://access.redhat.com/solutions/32831
Solution 4:
If you're running logrotate
from cron and not redirecting the output, the output, if there is any, will go to email for whichever ID is running the cron job. I redirect my output to a log file.
For example:
25 3 * * 7 /usr/sbin/logrotate -s /home/user/conf/mwarelogrotate.state
/home/user/conf/mwarelogrotate.conf >> /home/user/logs/logrotate.log 2>&1
Solution 5:
Check /etc/logrotate.conf
for global config settings that may be affecting tasks configured through /etc/logrotate.d/