ProCloud Yandex
24.07.2023
читать 6 минут

Как использовать logrotate для управления файлами журналов в Linux

/upload/iblock/09f/k8j0dyf7wxb53z7qn7aizslxsyc0l3fp/docs_%281%29.jpeg

Со временем журналов в Linux становится очень много. Они занимают немало места и негативно могут влиять на производительность всей системы. Вручную управлять ими очень сложно и нецелесообразно. Куда правильнее – установить утилиту Linux Logrotate, которая позволит автоматизировать процесс.

Linux Logrotate

Что такое Logrotate?

Речь идет об утилите, которая позволяет осуществлять ротацию и сжатие журналов. Это препятствует разрастанию логов до таких объемов, что они начинают влиять на скорость работы системы. Требуется задать для Logrotate конфигурацию, чтобы процесс работы с логами был автоматизирован. Если их задать неверно, то логи некоторых сервисов могут занять существенное место на устройстве.

Важно. Linux Logrotate уже предустановлена на Ubuntu 16.04 и на более новых версиях. Если пользователь использует устаревшую версию Ubuntu или другой дистрибутив, где нет данной утилиты, то ее можно легко установить.

Основные преимущества Logrotate следующие:

  • автоматизация обработки системных и несистемных журналов;
  • возможность своевременно удалять устаревшую информацию из логов;
  • гибкость и простота настроек;

Если использовать этот софт совместно с другими программами, направленными на управление логами, то удастся более эффективно управлять имеющимися записями о работе системы и пользователя.

Стоит подробнее рассмотреть, как работать с данной утилитой для экономии дискового пространства.

Установка Logrotate в Linux

Утилита находится в большинстве дистрибутивов OS Linux. В зависимости от используемой версии ОС, необходимо задать соответствующую команду для начала установки.

В Debian или Ubuntu:

sudo apt install logrotate

В Fedora или CentOS:

sudo yum install logrotate

После завершения можно проверить установку с помощью команды:

logrotate --version

Управление файлами журнала с помощью Logrotate

Конфигурационный файл создается демоном logrotate – /etc/logrotate.conf. В нем содержится базовая информация, которая не требует изменений. Однако для некоторых сервисов нужно задавать настройки вручную. В каталоге /etc/logrotate.d/ в отдельных конфигурационных файлах задается персональная ротация для каждого приложения. Тут есть настройки для пакетов rsyslog, apport, dpkg и других. Администратор может добавлять новые файлы, чтобы осуществлялась ротация логов Linux. После добавления они тоже будут обрабатываться.

Задавая настройки, необходимо обращать внимание на следующее:

  1. Периодичность выполнения ротации (команды привычные – daily, monthly, weekly).
  2. Rotate X, где X – количество журналов, которые будут храниться в автоматическом режиме.
  3. Compress требуется, чтобы сжать логи с использованием технологии gzip.
  4. Notifempty предполагает, что файл не будет ротирован, если он пустой.
  5. Missingok – если системный журнал отсутствует, то ошибка не будет фиксироваться.
  6. Delaycompress – при использовании этой команды последний журнал не будет подвержен сжатию до следующего запуска утилиты. Команду требуется использовать вместе с compress.
  7. Postrotate/endscript – возможность задать команды, которые будут выполняться при соблюдении определенных условий.

Настройки довольно простые. Более подробную информацию можно прочитать в файле manual. После обновления настроек требуется осуществить перезапуск Logrotate.

Конфигурация Cron

Cron каждый день запускает данную утилиту, чтобы проверить наличие журналов для обработки. В файле /etc/cron.daily/logrotate можно вручную указать все необходимые правила для выполнения автоматической ротации. Такой подход позволяет автоматизировать работу и снизить нагрузку на администратора.

Важно. Рекомендуется в настройках прописать время включения утилиты, когда нагрузка на систему минимальная. Например, во время обеденного перерыва, чтобы не мешать пользователю работать.

Проверка состояния Logrotate

Проверить работоспособность программы можно через файл logrotate.status. Там указывается, когда именно происходила последняя ротация, и какой именно файл подвергся обработке.

Важно. В старых версиях Linux местонахождение файла может отличаться.

Заключение

Logrotate считается очень простым в использовании инструментом, который помогает предотвратить разрастание журналов до такой степени, что они начнут занимать много места на компьютере или ином устройстве, которое работает на ОС Linux. Установка занимает мало времени, а настройки интуитивно понятны.

Статьи по теме:

читать 8 минут
arrow
arrow hover
читать 8 минут
arrow
arrow hover
Новости
5 апреля 202405.04.2024
читать 1 минутучитать 1 мин
ProCloud CPO Диана Беда в рейтинге ИТ-лидеров от Global CIO
28 марта 202428.03.2024
читать 1 минутучитать 1 мин
Запуск новой локации: Казахстан
6 марта 202406.03.2024
читать 1 минутучитать 1 мин
ProCloud №1 в Рейтинге облачных провайдеров 2023