Logrotate - daily log files for a month

Matthew Saltzman mjs at CLEMSON.EDU
Thu Aug 23 23:44:23 UTC 2007


On Thu, 2007-08-23 at 15:17 -0500, Mikkel L. Ellertson wrote:
> Mikkel L. Ellertson wrote:
> > John Horne wrote:
> >> On Thu, 2007-08-23 at 09:58 -0500, Mikkel L. Ellertson wrote:
> >>> You can control how many old log files are kept by changing "rotate
> >>> 4" to how many weeks of backlogs you want to keep, This is in
> >>> /etc/logrotate.conf. You can control individual logs by editing the
> >>> corresponding file in /etc/logrotate.d and adding/changing the
> >>> rotate line. You can find more information by running "man logrotate".
> >>>
> >> ? We want daily log files, so setting 'rotate 4' will only give us 4 log
> >> files. Using weeks is no good because a month is not a fixed number of
> >> weeks - 30 and 31 days are not 4 weeks and vice-versa.
> >>
> > If you are using daily instead of weekly, then set rotate to 31 to
> > keep the max number of days a month can have. Then add a monthly
> > cron job to archive the month of logs if you want to keep them. By
> > using 31 as the number of logs to keep, you insure you have at least
> > a months worth of logs. If the month has less the 31 days, you will
> > have 1 or more daily logs from last month left over.
> > 
> I forgot to add that the files will be numbered in reverse order,
> because of the way logrotate rotates files...

This behavior is configurable.  Add the "dateext" option to the profile
for your logs and the extension will be -yyyymmdd instead of .nn .
Handy because the files sort in forward order (except the current one).

> 
> Another way to do it would be to have a postrotate script that
> renames <log>.1 to <log>.date - you can then archive based on date.
> But for the logs to be accurate, you are going to have to change the
> default time when cron.daily is run, or have logrotate run by itself
> with its own cron entry.
> 
> Mikkel
-- 
                Matthew Saltzman

Clemson University Math Sciences
mjs AT clemson DOT edu
http://www.math.clemson.edu/~mjs




More information about the users mailing list