Автоматическое очищение журналов с использованием logrotate

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

logrotateлогиlinux

👁 В Linux важной задачей для администраторов и разработчиков является управление журналами. Слишком большие файлы логов могут занимать много места на диске, а также затруднять мониторинг. Использование logrotate помогает автоматизировать процесс их архивирования и очистки.

📝 Пример конфигурации:

# /etc/logrotate.d/myapp
/var/log/myapp/*.log {
    daily              # Чистить логи каждый день
    rotate 7           # Хранить 7 архивов
    compress           # Архивировать старые логи
    missingok          # Не выводить ошибку, если файл отсутствует
    notifempty         # Не архивировать пустые файлы
    create 0640 root root # Создавать новые файлы с правами 0640
}

📌 Как это работает:

  • logrotate управляет файлами логов по расписанию, автоматически архивируя и удаляя старые данные.
  • В конфигурации указывается, как часто очищать логи (например, ежедневно) и сколько архивов сохранять.
  • Параметры compress и create позволяют сжать старые логи и контролировать права на новые файлы.

❗️ Этот подход полезен для длительного хранения логов и их автоматической очистки в больших системах, что позволяет избежать переполнения диска и поддержания стабильности сервера.

tags: #linux #полезно #логирование

🧭 @recura_tech 🌐 VK 🌐 MAX

Тёмный экран с блоком кода: пример конфигурации /etc/logrotate.d/myapp с опциями daily, rotate 7, compress, missingok, notifempty и create; логотип RECURA.
Пример конфигурации logrotate для приложения myapp

Читайте так же