Linux, хочу повернуть самые старые файлы, когда он достигает предела

#linux #rhel #logrotate

#linux #rhel #logrotate

Вопрос:

У нас есть одна машина RHEL с Linux, на которой каждый день генерируются разные файлы журналов с текущей датой и временем в папке «/ var / log / audit /».

Имя файла указано в формате ниже:

 audit_2021-11-24.trace
audit_2021-11-25.trace
audit_2021-11-26.trace
audit_2021-11-27.trace
audit_2021-11-28.trace
audit_2021-11-29.trace
 

Я хочу повернуть самый старый файл и удалить этот файл, как только количество файлов достигнет 5.
Для этого я настроил приведенный ниже файл в папке «/ etc/logrotate.d /»

 /var/log/audit/audit_*-*-*.trace {
    copytruncate
    dateext
    dateformat -%Y-%m-%d
    rotate 5
    ifempty
    missingok
    compress
}
 

Но это не работает, это вращает каждый файл, а не удаляет старый файл (какой файл вращается).

Комментарии:

1. Простой ежедневный cron должен сделать свое дело. Что-то вроде: find /var/log/audit/audit_* -mtime 5 -exec rm {} ;

2. @MikeD спасибо за ответ, не могли бы вы помочь мне, куда я должен это поместить, в файл «/ etc/ logrotate.d / audit» или где-нибудь еще?

3. Мое предложение — поместить его в crontab. Вот некоторая информация о том, как это работает: guru99.com/crontab-in-linux-with-examples.html