Назад | Перейти на главную страницу

Как сжимать и удалять старые сжатые файлы с помощью logrotate, если в имени файла есть дата?

Я ежедневно создаю файлы с именем my_file_YYYYMMDD.csv (например, my_file_20160406.csv, my_file_20160407.csv и так далее).

Я хочу, чтобы logrotate сжимал их ежедневно и сохранял только последние 30 файлов.

Проблема в том, что он генерирует файлы как cisco_counters-20160406.csv.1.gz, и они никогда не будут удалены.

Как я могу заставить logrotate сжать мои файлы, удалить файл .csv и удалить все сжатые файлы старше 30 дней?

Примечание: к сожалению, мне не разрешено удалять дату из моих файлов.

Спасибо.

Вместо logrotate взгляните на tmpwatch, который удалит файлы, которые не были изменены более X часов (--mtime). Я использую это, когда файлы не вписываются в структуру logrotate.