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?
logrotate
does not log anything by default. normally it should be in your cron somewhere, for instance: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.
The only thing that logrotate records normally is in
cat /var/lib/logrotate/status
.This is taken from https://serverfault.com/a/518134/266525
Another good place to look is
/var/log/messages
on CentOS for errors such as this from the cron.daily/etc/cron.daily/logrotate
You can also run in debug mode manually and check for errors:
Source: https://access.redhat.com/solutions/32831
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:
When logrotate doesn't rotate logs or enters failed state, it's a good idea to run logorate manually in debug mode to see what errors it lists, like this:
This command tests rotating the logs for all the services that have files located in
/etc/logrotate.d
. If it lists errors (such as errors caused by duplicate log entries), you'll know why logrotate has problems.Check
/etc/logrotate.conf
for global config settings that may be affecting tasks configured through/etc/logrotate.d/