How can I get logrotate dateext to reflect the log date rather than the rotation date?

Posted by Adam on Server Fault See other posts from Server Fault or by Adam
Published on 2012-10-02T01:48:54Z Indexed on 2012/10/17 23:04 UTC
Read the original article Hit count: 174

Filed under:

My Apache logrotate config looks like this:

/var/log/http/*log {
    monthly
    dateext
    dateformat .%Y.%m
    [... rest stripped for brevity ...]
}

This works great, except that the date on the rotated filename is one period later than the period actually covered by the logs, for example error_log.2012.09 covers 2012-08-01 to 2012-08-31.

I realize that there are other options for Apache (eg. cronolog), but I have a bunch of other logs that I also need to rotate, and logrotate is really exactly what I need apart from this one issue.

Is there a way to get logrotate to use a date offset -- or, even better, figure out the previous time period -- when generating the rotated filename?

© Server Fault or respective owner

Related posts about logrotate