How to insert a date inside the filename with logrotate

Bernard Sfez picture Bernard Sfez · Mar 4, 2012 · Viewed 43.4k times · Source

I need to set logrotate to rotate logs files from an application running on the server. I need the date inside the filename.

I set dateext and also dateformat to add a - in the date. The result filename is:whatever.csv_2012-03-03

I would like the timestamp to be part of the filename keeping safe the extension; Whatever_2012-03-03.csv.

Answer

Stéphane picture Stéphane · Aug 2, 2012

You should be able to keep the extension apart, e.g. whatever.2012-03-03.csv, with the following configuration:

whatever.csv {
  dateext
  dateformat .%Y-%m-%d
  extension .csv
  ...
}

Note the dateext is deliberately empty.