Со временем журналов в Linux становится очень много. Они занимают немало места и негативно могут влиять на производительность всей системы. Вручную управлять ими очень сложно и нецелесообразно. Куда правильнее – установить утилиту 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. После добавления они тоже будут обрабатываться.
Задавая настройки, необходимо обращать внимание на следующее:
- Периодичность выполнения ротации (команды привычные – daily, monthly, weekly).
- Rotate X, где X – количество журналов, которые будут храниться в автоматическом режиме.
- Compress требуется, чтобы сжать логи с использованием технологии gzip.
- Notifempty предполагает, что файл не будет ротирован, если он пустой.
- Missingok – если системный журнал отсутствует, то ошибка не будет фиксироваться.
- Delaycompress – при использовании этой команды последний журнал не будет подвержен сжатию до следующего запуска утилиты. Команду требуется использовать вместе с compress.
- Postrotate/endscript – возможность задать команды, которые будут выполняться при соблюдении определенных условий.
Настройки довольно простые. Более подробную информацию можно прочитать в файле manual. После обновления настроек требуется осуществить перезапуск Logrotate.
Конфигурация Cron
Cron каждый день запускает данную утилиту, чтобы проверить наличие журналов для обработки. В файле /etc/cron.daily/logrotate
можно вручную указать все необходимые правила для выполнения автоматической ротации. Такой подход позволяет автоматизировать работу и снизить нагрузку на администратора.
Важно. Рекомендуется в настройках прописать время включения утилиты, когда нагрузка на систему минимальная. Например, во время обеденного перерыва, чтобы не мешать пользователю работать.
Проверка состояния Logrotate
Проверить работоспособность программы можно через файл logrotate.status
. Там указывается, когда именно происходила последняя ротация, и какой именно файл подвергся обработке.
Важно. В старых версиях Linux местонахождение файла может отличаться.
Заключение
Logrotate считается очень простым в использовании инструментом, который помогает предотвратить разрастание журналов до такой степени, что они начнут занимать много места на компьютере или ином устройстве, которое работает на ОС Linux. Установка занимает мало времени, а настройки интуитивно понятны.