Peter Pluta wrote:
> I have Apache making separate log files for each of my virtual hosts and
> putting them in /home/vhostname/log. Rotate logs makes a new log every
> 24 hours, but the logs quickly add up and since the sites are fairly
> busy the logs are at times over 5gigs. Is there any way to make rotate
> logs delete the log files after two days? Someone recommended me Log
> Rotate (from the ports tree), but this program does basically what
> Rotate logs does; except it makes things more complicated because it
> needs to restart apache and such. Is there a easy way to just have
> Apache's rotatelogs rotate the logs and then delete them after two days?
> 
> Any feedback, suggestions, or comments would be greatly appreciated.

rotatelogs doesn't do any sort of deletion stuff.  It just doesn't have
that capability.

On the other hand a simple cronjob that deletes all but the N newest files
in the directory is just a small matter of scripting.  Assuming you want
to keep at least 30 of the latest log files, you can generate a list of
files to delete by something like:

        ls -1t /home/vhostname/log.* | sed -n -e '30,$p'

Alternatively you can abuse the daily_clean_tmps periodic job to delete
any files from that directory over a certain age.

        Cheers,

        Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.                       Flat 3
                                                      7 Priory Courtyard
PGP: http://www.infracaninophile.co.uk/pgpkey         Ramsgate
                                                      Kent, CT11 9PW, UK

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to