Ротация логов на VPS: экономия места и защита от сбоев

Ротация логов на VPS: экономия места и защита от сбоев

Логи веб-сервера — это записи всех событий: кто заходил на сайт, какие ошибки возникали, как долго грузились страницы. Без них вы не поймёте, почему упал интернет-магазин в Минске или почему в пик сезона сайт кафе в Гродно тормозит. Но логи имеют свойство расти. За месяц один сайт может накопить сотни мегабайт, а за полгода — гигабайты. Если не настроить ротацию (автоматическое архивирование и удаление старых файлов), диск VPS заполнится. Сервер встанет. Ротация решает эту проблему: она сохраняет нужную историю, но не даёт диску переполниться.

Как логи убивают производительность: пример интернет-магазина в Минске

Владельцы магазина одежды заметили, что сайт начал медленно работать по вечерам. Заказы стали уходить с опозданием. При проверке выяснилось: лог-файлы nginx и php-fpm занимали 45 ГБ на SSD-диске объёмом 80 ГБ. Свободного места осталось меньше 5 ГБ. Система начала тормозить из-за нехватки места для временных файлов. После настройки ротации (оставили логи за 14 дней, старые автоматически сжимались и удалялись) освободили 40 ГБ. Сайт заработал стабильно.

Совет: Настройте logrotate — стандартную утилиту Linux. Укажите период хранения: для небольших интернет-магазинов хватает 7–14 дней. Используйте сжатие gzip: файлы уменьшаются в 5–10 раз. Пример конфигурации для nginx:

/var/log/nginx/*.log {
    daily
    rotate 14
    compress
    delaycompress
    missingok
    notifempty
    postrotate
        /usr/sbin/nginx -s reopen
    endscript
}

Когда логи нужны для безопасности: кейс салона красоты в Бресте

Салон запустил онлайн-запись. Через месяц на сайте появились подозрительные запросы — кто-то пытался подобрать пароли к админке. Без логов владельцы бы не узнали об атаке. Логи access.log показали IP-адреса, время и пути. Благодаря сохранённым записям (ротация делалась раз в день) удалось заблокировать атакующих через firewall. Если бы логи не ротировались, они бы переполнили диск, и система могла потерять часть данных ещё до того, как владельцы проверили подозрения.

Совет: Настройте ротацию с разбивкой по дням (daily). Храните минимум 30 дней для анализа инцидентов. Для экономии места включите сжатие. Если логов много, перенесите их на отдельный диск или в облачное хранилище.

Типичные ошибки при работе с логами на белорусском VPS

  • Не включают ротацию вовсе — диск заполняется за 2–3 месяца.
  • Устанавливают слишком большой срок хранения (90+ дней) без сжатия. Для микробизнеса это избыточно.
  • Используют только стандартные настройки без учёта объёмов трафика. Логи маленького магазина растут медленно, а крупного — быстро. Проверяйте раз в месяц.
  • Не мониторят свободное место на диске. Установите оповещение при заполнении на 80 %.
  • Хранят логи в той же папке, что и базы данных. Если лог «съест» всё место, база может повредиться.
  • Не настраивают ротацию для php-логов и логов приложений (например, WooCommerce или CMS). Падения движка тоже нужно фиксировать.

Что ещё даёт ротация: снижение нагрузки на резервное копирование

Ежедневные бэкапы VPS копируют все файлы, включая логи. Если логи не ротированы, резервные копии становятся огромными. Восстановление сервера после сбоя занимает больше времени. С ротацией объём бэкапов уменьшается на 30–50 %. Это особенно важно для бизнеса в Могилёве или Гомеле, где скорость каналов ниже, чем в Минске. Меньше данных — быстрее восстановление.

Совет: Настройте logrotate так, чтобы старые логи не попадали в ежедневные бэкапы. Используйте отдельную директорию для логов и исключите её из бэкапов, если история за последние 7 дней не критична.

Практический план: 3 шага на неделю

3 шага, которые можно сделать сегодня:

  1. Проверьте текущее место на диске командой df -h. Узнайте, сколько занимают логи (du -sh /var/log).
  2. Настройте logrotate для nginx, Apache, php-fpm. Используйте конфигурацию выше, адаптировав пути и сроки.
  3. Настройте уведомление о заполнении диска. Если пользуетесь услугами хостинг-провайдера, выберите тариф с мониторингом или добавьте скрипт, который шлёт письмо при 80 %.

Полезные ссылки: преимущества белорусских серверов для бизнеса в 2026 году и выбор между SSD и NVMe для интернет-магазина — понимание, какой диск даст больше производительности при ротации логов.