
Я работаю на Ubuntu 14.04, на котором размещен сервер graylog. В каталоге /var/log/upstart/ у меня есть текстовый журнал всех входящих сообщений — он настроен на ротацию каждые 3 ГБ. Однако проблема, с которой я сталкивался раньше, заключалась в том, что при каждой ротации мой «graylog-server.log» переименовывался в «graylog-server.log.1», что мне не нравится. Я добавил ключевое слово «copy» в конфигурацию, и теперь имя файла хорошее! Но он также оставляет все сообщения в файле журнала — которые я хочу очистить после их сжатия. Поэтому мой вопрос...
- Есть ли ключевое слово конфигурации, которое поможет мне это сделать? Я их просмотрел, но я новичок в logrotate, так что, возможно, я что-то упустил.
- Если это не получится, есть ли способ запланировать очистку файла журнала сразу после его ротации? Я могу отправить пару сообщений, но меня это не слишком волнует.
Спасибо!
Конфигурация:
/var/log/upstart/*server.* {
size 3G
missingok
rotate 5
compress
notifempty
nocreate
copy
}
решение1
Обычно последний ротированный файл журнала ( file.1
) сохраняется несжатым и сжимается при следующей ротации ( file.1
-> file.2.gz
).
Если вы хотите немедленно сжать ротируемый файл журнала, вы можете добавить
nodelaycompress
вариант.
nodelaycompress
Не откладывать сжатие предыдущего файла журнала на следующий цикл ротации (это переопределяетзадержкакомпрессиявариант).