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

Вращение журналов с разными именами с помощью logrotate

К имени журнала добавляется метка времени при его создании, например, log-20140526-062503.txt Есть ли способ управлять этим? Я пробовал использовать собственный файл состояния, но ротация журнала не удаляет старый файл.

/var/logs/*.txt {
rotate 15
daily
compress
missingok
nocreate
}

Любая помощь?

Проблема в том, что logrotate будет рассматривать каждый новый файл журнала с этим настраиваемым именем как отдельный объект для ротации (как и access_log и error_log обрабатывались бы отдельно, если бы шаблон файла был /var/log/httpd/*log). Таким образом, вы никогда не получите 15 предметов для вращения.

Один из способов обойти это может быть с maxage вариант:

максимальное количество

Удалите ротационные журналы старше дней. Возраст проверяется только в том случае, если файл журнала должен быть повернут. Файлы отправляются на настроенный адрес, если настроены почтовая рассылка и почта.

но я не уверен, действительно ли это работает.

Если это не сработает, я просто рекомендую использовать задание cron, которое удаляет файлы старше 15 дней, соответствующие вашему подстановочному знаку, поскольку похоже, что ваше приложение уже использует новый файл журнала каждый день.