1 min read

logrotate: как не забить диск логами через месяц работы

logrotate: как не забить диск логами через месяц работы

Я зашел на сервер через три недели после деплоя. Диск был забит под ноль. Приложение не писало новые данные, мониторинг молчал, клиенты начали жаловаться на тормоза.

Как я до этого дошел

На старте проекта мы просто настроили вывод логов в файл и забыли. Сервер тестировали пару дней — всё было чисто. Но через месяц логов накопилось на 40 гигабайт.

Система не умела их чистить. Я вручную удалял старые файлы, пока не понял: так жить нельзя.

В чем была проблема

Логи — это не мусор, но без ротации они превращаются в бомбу замедленного действия. Одно приложение может генерировать гигабайты в день. Если не ограничить размер, диск заполнится, и сервер упадет.

К тому же разбирать файл на 10 ГБ в текстовом редакторе — то еще удовольствие.

Логи нужно не только писать, но и уметь вовремя выкидывать.

Почему это касается бизнеса

  • 📉 Полный диск останавливает сервис — клиенты теряют доступ
  • 💸 Экстренное расширение диска или чистка руками — это деньги и время команды
  • ⚠️ Потеря свежих логов при падении — упущенная возможность найти баг

Что я сделал

Поставил logrotate — стандартный инструмент в Linux. Он умеет сжимать, удалять и переименовывать логи по расписанию. Без танцев с бубном.

Написал простой конфиг для nginx и своего приложения. Пример для типового случая:

/var/log/myapp/*.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
postrotate
systemctl reload myapp
endscript
}

Здесь я указал: ротация каждый день, хранить 7 копий, сжимать старые файлы, не ругаться, если лога нет, и перезагружать сервис после ротации.

Важный момент — postrotate. Без него приложение продолжит писать в удаленный файл, и диск не освободится. reload или restart решает это.

Что изменилось

Диск перестал забиваться. Максимум, что занимают логи за неделю — 200 мегабайт в сжатом виде. Старые файлы удаляются сами, я про них забыл.

Еще один плюс: теперь я могу быстро найти нужную дату. Логи разложены по дням, а не валяются одной кучей. Для отладки это спасение.


📬 Свяжитесь с нами

Хотите внедрить это в своем бизнесе? Пишите нам!

Связаться с нами
Telegram
WhatsApp
Email