Logrotate: автоматическая ротация логов на Linux

VDS / VPS серверы · 15.02.2026
Logrotate: автоматическая ротация логов на Linux

Logrotate — стандартный инструмент Linux для управления лог-файлами. Автоматически архивирует, сжимает и удаляет старые логи по расписанию.

Как работает logrotate

  • Запускается через cron (/etc/cron.daily/logrotate)
  • Читает конфиги из /etc/logrotate.conf и /etc/logrotate.d/
  • Для каждого лога применяет правила: rotate, compress, delete

Конфиг для Nginx

sudo nano /etc/logrotate.d/nginx
/var/log/nginx/*.log {
    daily
    missingok
    rotate 14
    compress
    delaycompress
    notifempty
    create 0640 www-data adm
    sharedscripts
    postrotate
        nginx -s reopen
    endscript
}

Конфиг для вашего приложения

sudo nano /etc/logrotate.d/myapp
/var/www/myapp/logs/*.log {
    weekly
    rotate 8
    compress
    delaycompress
    missingok
    notifempty
    create 0644 www-data www-data
}

Тестирование и запуск

# Тест без реального выполнения
sudo logrotate -d /etc/logrotate.d/nginx

# Принудительный запуск
sudo logrotate -f /etc/logrotate.conf

# Проверить статус
sudo cat /var/lib/logrotate/status
ДирективаЗначение
daily/weekly/monthlyЧастота ротации
rotate NХранить N архивов
compressСжимать gzip
missingokНе ошибаться если файл отсутствует
✅ Проверяйте свободное место командой df -h. Если /var заполнен — запустите logrotate -f /etc/logrotate.conf принудительно.
← Назад в базу знаний Задать вопрос поддержке