К имени журнала добавляется метка времени при его создании, например, 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 дней, соответствующие вашему подстановочному знаку, поскольку похоже, что ваше приложение уже использует новый файл журнала каждый день.