>_ IzzyLab

Практическое задание

Настрой ротацию логов

средне

Лог приложения /var/log/app/app.log растёт бесконечно. Создай конфиг logrotate /etc/logrotate.d/app: ротация при размере больше 1M, хранить 3 старых копии, сжимать их и создавать свежий пустой лог после ротации.

Что потренируешь:
  • logrotate
  • ротация логов
  • compress
  • конфигурация

Разбор темы

logrotate не даёт логам расти бесконечно: по порогу (размеру или расписанию) он переименовывает текущий файл в .1, .2 и т.д., старые сжимает и выбрасывает самые древние. Поведение задаётся конфигом в /etc/logrotate.d/: путь к логу, фигурные скобки и внутри директивы — порог ротации, число хранимых копий, сжатие и создание свежего пустого файла после ротации (иначе приложение продолжит писать в уже переименованный дескриптор). Точные имена директив стоит подсмотреть в man logrotate или соседних конфигах.

Что проверяется

  1. конфиг /etc/logrotate.d/app создан
  2. конфиг хранит 3 копии и сжимает
  3. ротация создаёт сжатый app.log.1.gz
  4. после ротации создаётся свежий app.log

Как это выглядит