Протрите чистый лог-файл ежедневно с помощью logrotate - PullRequest
0 голосов
/ 01 июня 2018

Я хочу чистить журналы контейнера Docker каждый день (нет необходимости хранить / архивировать данные).Я создал файл с именем docker в /etc/logrotate.d и поместил в него следующее:

/var/lib/docker/containers/*/*.log {
  rotate 0      #do not keep archives
  daily         
  missingok
  copytruncate  #continue working in the same log file
}

, но он не работает.Так что, очевидно, что-то в моей конфигурации logrotate не правильно.AFAIK, мне не нужно настраивать crontab для этого.Моя конфигурация неверна?Есть ли что-то, чего мне не хватает?

Есть ли способ запустить и протестировать logrotate без необходимости ждать день?

1 Ответ

0 голосов
/ 01 июня 2018

rotate 0 здесь избыточно, 0 является значением по умолчанию для поворота, что означает, что вращение не удаляется, а старые удаляются.

Вы можете проверить это, используя,

$ logrotate -f /etc/logrotate.d/docker

Возможно, было бы лучше проверить его, поставив rotate 1, а затем rotate 0, чтобы проверить, правильно ли работает logrotate.

Если logrotate установлен правильно, то будет иметь crontab запись в /etc/cron.daily/logrotate.Этот файл читает файл конфигурации /etc/logrotate.conf, который включает в себя все, что находится под /etc/logrotate.d

HTH

...