каталог logrotate, содержащий файлы журналов

Я ищу способ, которым я могу logrotate все файлы журнала в определенном каталоге.

Конфигурация, которую я сейчас использую:

/path/to/folder/*.log {
daily
rotate 5
missingok
notifempty
maxage 14
compress

}

ежедневно - так как я хочу, чтобы он работал каждый день

rotate - повернуть 5 версий перед удалением

maxage 14 - удалить фактические файлы журнала через 14 дней

сжать - сжать файлы журнала при ротации.

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

Я пробовал использовать delaycompress, но это тоже не помогло.

Не могли бы вы помочь, что я делаю неправильно?


person iDev    schedule 02.11.2017    source источник


Ответы (1)


Добавление delaycompress задержит сжатие на один оборот.

Затем у вас должно быть:

  • Текущий лог-файл, в который ведется запись;
  • Предыдущий файл журнала без сжатия (созданный из «текущего» файла журнала непосредственно перед ротацией);
  • Более ранние файлы журналов сжаты.

Обратите внимание, что maxage 14 здесь не очень полезен, так как rotate удалит файл журнала после 5 (ежедневных) циклов.

person le_top    schedule 02.11.2017
comment
Не могли бы вы подробнее рассказать о текущем файле журнала и предыдущем несжатом файле журнала? В моем случае у меня есть несколько файлов журнала в день, каждый из которых уникален для процесса. И именно поэтому я не хочу их сжимать. Кроме того, спасибо за указание на maxage. Я понял, что это неэффективно, так как у меня есть ротация 5. Спасибо. - person iDev; 02.11.2017
comment
По моему опыту, правила ротации журналов применяются к каждому совпавшему файлу. Поэтому, если у вас есть PROC1232.log и вы поворачиваете его с помощью delaycompress, он переименовывается в PROC1232.log.1, а предыдущие журналы начинаются с PROC1232.log. сжаты. Файл PROC1232.log будет создан, если его создаст новый процесс. Если вы хотите, чтобы файл PROC1232.log создавался при ротации журналов, вам нужно добавить create - person le_top; 02.11.2017