Назад | Перейти на главную страницу

logrotate по размеру - нужно ли менять cron?

Моя текущая конфигурация logrotate выглядит так (с использованием logrotate 3.8.7)

"/var/log/haproxy.log" {
  daily
  size 250M
  rotate 1
  create 644 root root
  missingok
  compress
  notifempty
  copytruncate
}

Он успешно запускается один раз в день, но когда размер превышает 250 МБ, он не меняется. Таким образом, он ждет до конца дня, чтобы повернуться, независимо от размера.

Я читал, что есть опция максимального размера, и после изменения size 250M к maxsize 250M это все еще не работает.

Нужно ли мне настраивать cron для ежечасного запуска logrotate, или logrotate запускается автоматически, потому что прослушивает этот размер файла, а у меня что-то еще не так?

Да тебе нужно бежать logrotate более одного раза в день, чтобы добиться этого. Ответ на этот вопрос содержится в секундах на странице руководства. logrotate(8):

Как обычно, logrotate запускается как ежедневное задание cron. Он не будет изменять журнал несколько раз за один день, если критерий для этого журнала не основан на размере журнала и logrotate выполняется несколько раз в день, или если -f или --force опция используется.

Если вы хотите бежать logrotate ежечасно, а не ежедневно, вы можете перемещать его:

mv /etc/cron.daily/logrotate /etc/cron.hourly

Начиная с 3.8.1 было maxsize. Разница между size и maxsize описано здесь:

maxsize размер

Файлы журналов поворачиваются, когда они превышают размер байтов даже до дополнительно указанного временного интервала (daily, weekly, monthly, или yearly). Связанные size Параметр аналогичен, за исключением того, что он является взаимоисключающим с параметрами временного интервала и вызывает ротацию файлов журнала без учета последнего времени ротации. когда maxsize используется, учитывается как размер, так и временная метка файла журнала.

Это сделает оба подходящими для вашего использования: size без перерыва и maxsize если также требуется интервал. Однако это не меняет того факта, что по умолчанию logrotate работает только ежедневно. Этот интервал подходит для большинства, так как в большинстве случаев для того, чтобы журнал увеличился, требуется намного больше, чем день. 250M.