Поворот ежедневного журнала - сохранение оригинала

Я работаю на Ubuntu 14.04, где размещается сервер Graylog. В каталоге / var / log / upstart / у меня есть открытый текст всех входящих сообщений - он настроен на вращение каждые 3 ГБ. Однако проблема, с которой я сталкивался раньше, заключалась в том, что всякий раз, когда он вращался, мой "graylog-server.log" переименовывался в "graylog-server.log.1", что мне не нравится. Я добавил ключевое слово "copy" в конфигурацию, и теперь имя файла хорошее! Но это также оставляет все сообщения в файле журнала - которые я хочу удалить после того, как они были сжаты. Итак, мой вопрос...

  • Есть ли ключевое слово config, чтобы помочь мне в этом? Я смотрел на них, но я новичок в журнале, так что, возможно, я кое-что пропустил.
  • Если это не удастся, можно ли запланировать очистку файла журнала сразу после его поворота? Я могу оставить пару сообщений, но это меня не очень беспокоит.

Спасибо!

Config:

/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
Не откладывайте сжатие предыдущего файла журнала до следующего цикла ротации (это отменяет опцию delaycompress).

Другие вопросы по тегам