Я тестирую конфигурацию logrotate в /tmp
. мне бы хотелось
- настроить политику logrotate по умолчанию для файлов
/tmp/*.log
используя мой тестовый конфигурационный файл/tmp/logrotate.conf
- для обработки определенного файла журнала
/tmp/special.log
с другой политикой, настроенной в отдельном тестовом файле конфигурации logrotate:/tmp/logrotate.d/included
Но ответ logrotate на мою конфигурацию заключается в следующем:
error: /tmp/logrotate.d/included:1 duplicate log entry for /tmp/special.log
Что я должен делать по-другому?
Вот мой /tmp/logrotate.conf
compress
missingok
notifempty
size 512k
copytruncate
rotate 2
su
# here's my attempt at applying the default policy to all /tmp/*.log
/tmp/*.log {}
# and here I intend to include any overrides
include /tmp/logrotate.d/included
А вот /tmp/logrotate.d/included
/tmp/special.log {
size 300
}
Вот отладочный вывод.
$ sudo logrotate -d ./logrotate.conf
reading config file ./logrotate.conf
including /tmp/logrotate.d/included
reading config file /tmp/logrotate.d/included
error: /tmp/logrotate.d/included:1 duplicate log entry for /tmp/special.log
Handling 2 logs
rotating pattern: /tmp/*.log 524288 bytes (2 rotations)
empty log files are not rotated, old logs are removed
considering log /tmp/normal.log
log does not need rotating
considering log /tmp/special.log
log does not need rotating
rotating pattern: /tmp/special.log 300 bytes (2 rotations)
empty log files are not rotated, old logs are removed
No logs found. Rotation not needed.
- Ошибка удивляет меня, потому что я подумал, согласно странице руководства: «Более поздние файлы конфигурации могут переопределять параметры, заданные в более ранних файлах, поэтому важен порядок, в котором перечислены файлы конфигурации logrotate».
- Почему при обработке шаблона
/tmp/special.log
в конце говорится, что журналы не найдены? Файл/tmp/special.log
существует и имеет размер более 300 байт.