Ежедневная ротация журнала — сохранение оригинала

Ежедневная ротация журнала — сохранение оригинала

Я работаю на 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

вариант.

Отman logrotate:

nodelaycompress
Не откладывать сжатие предыдущего файла журнала на следующий цикл ротации (это переопределяетзадержкакомпрессиявариант).

Связанный контент