🔄 Что такое logrotate?
Это утилита, которая автоматически управляет лог-файлами:
✅ Архивирует старые логи
✅ Удаляет устаревшие файлы
✅ Поддерживает ротацию по размеру или времени
📌 Базовая настройка logrotate
Файл конфигурации находится в
/etc/logrotate.conf, а для отдельных сервисов — в /etc/logrotate.d/. Пример настройки для
/var/log/syslog:
/var/log/syslog {
daily # Ротация каждый день
rotate 7 # Храним 7 архивов
compress # Сжимаем старые логи
missingok # Не ругаемся, если файла нет
notifempty # Не трогаем пустые файлы
}
Такой конфиг сохранит последние 7 дней логов и удалит более старые.
🛠️ Ротация логов по размеру
Если логи растут слишком быстро, можно задать лимит по размеру:
/var/log/nginx/*.log {
size 100M # Ротация при достижении 100МБ
rotate 5
compress
missingok
notifempty
}
Это предотвратит переполнение диска, если сервис генерирует много логов.
⏳ Запуск logrotate вручную
Проверить, как отработает текущая конфигурация, можно так:
logrotate -d /etc/logrotate.conf
А запустить ротацию вручную:
logrotate -f /etc/logrotate.conf
👉 @sys_adminos