#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