>_ IzzyLab

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

Лог забивает диск

средне

Файл /var/log/app/app.log бесконтрольно растёт (сейчас уже большой). Срочно обнули его, не удаляя сам файл (сервис держит на него дескриптор), и настрой на будущее — создай конфиг logrotate /etc/logrotate.d/app с ротацией по размеру.

Что потренируешь:
  • файловые дескрипторы
  • truncate
  • logrotate
  • inode
  • управление логами

Разбор темы

Когда сервис держит открытый дескриптор на лог-файл, важно освобождать место, не трогая сам inode: если сделать rm и создать новый файл с тем же именем, процесс продолжит писать в старый удалённый inode, и место не вернётся до перезапуска. Правильный приём — урезать содержимое того же файла до нуля (утилита truncate или перенаправление в режиме перезаписи), сохранив дескриптор живым. Отдельно настраивается logrotate: конфиг в /etc/logrotate.d/ описывает путь к логу и блок директив — порог ротации по размеру (size), число хранимых копий (rotate), сжатие; для процессов с открытым дескриптором в реальности часто добавляют copytruncate.

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

  1. Лог обнулён
  2. Файл не удалён
  3. logrotate настроен

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