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

Производительность компьютера или сервера в значительной степени зависит от объема системной памяти и использования диска. Если что-то потребляет больше дискового пространства, это приведет к системной ошибке. Аналогичным образом, увеличение размера файла журнала должно контролироваться для уменьшения такого риска.

Logrotate был представлен как системная утилита, которая вращает, сжимает файлы журналов и отправляет системные журналы по почте. Такое управление файлами журналов позволяет сократить использование дискового пространства и предотвратить системные ошибки.

В этой статье мы рассмотрим процесс установки и настройки logrotate на сервере Ubuntu.

Установка Logrotate на сервер Ubuntu

На Ubuntu logrotate установлен по умолчанию, но если он не установлен, вы можете установить его с помощью команды, как показано ниже.

Вы можете подтвердить установку командой, как показано ниже.

Проверка версии logrotate

Конфигурационные файлы Logrotate

Конфигурационный файл для logrotate создается демоном logrotate. Существует два пути для такой конфигурации, как показано ниже.

Это конфигурационный файл, обычно создаваемый для утилиты logrotate

Это каталог, состоящий из конкретных ротаций приложений. По умолчанию используется /etc/logrotate.conf, но для каждого приложения может быть задана своя конфигурация в /etc/logrotate.d/.

Конфигурационный файл Logrotate по умолчанию

Как вы знаете, файл /etc/logrotate.conf является файлом конфигурации по умолчанию. Давайте проверим конфигурационный файл, как показано на скриншоте ниже.

Проверьте файл конфигурации с помощью команды, как показано ниже.

Вывод:

Конфигурация для конкретного приложения

На скриншоте выше есть конфигурация include /etc/logrotate.d, которая означает, что конфигурация для конкретных приложений может быть установлена в этом каталоге. Здесь мы покажем конфигурацию для dpkg, как показано ниже.

dpkg logrotate

Чтобы получить подробную информацию о каждой строке конфигурации, ознакомьтесь с пунктами, рассмотренными ниже. Эти конфигурации заменят конфигурацию по умолчанию /etc/logrotate.conf для конкретных приложений, таких как dpkg.

  • monthly: Ротация раз в месяц. Вы можете заменить его на ежедневный или еженедельный в соответствии с вашими требованиями.
  • rotate 12: Двенадцать старых файлов журнала будут сохранены. Заменяет стандартное значение 4 в файле /etc/logrotate.conf.
  • compress: файлы журналов для этого приложения будут сжиматься с помощью gzip
  • delaycompress: сжатие предыдущего лог-файла до следующего цикла ротации откладывается, так как он все еще используется какой-то программой.
  • missingok: Не писать никакого сообщения об ошибке, если файл журнала отсутствует
  • notifempty: Не ротировать файл журнала, если он пуст.
  • create 644 root root: Файл журнала создается с разрешением 644, с пользователем и группой как root

Создание файла конфигурации Logrotate

Допустим, вы установили приложение типа nginx, и его файл журнала создается в /var/log/nginx/, тогда вы можете настроить файл конфигурации logrotate для этого конкретного приложения с помощью команды, как показано ниже.

Перейдите в каталог logrotate

Создайте файл logrotate с помощью редактора

Конфигурация logrotate Nginx

В приведенной выше конфигурации мы установили ротацию на 14, поэтому 14 старых файлов журнала будут сохранены, а файл журнала сжат с помощью gzip. Другая конфигурация, использованная в приведенном выше файле, почти полностью описана в разделе конфигурационного файла logrotate. Вы можете запустить только что созданную конфигурацию с привилегией sudo, как показано ниже.

Здесь выполняются файлы журналов, как показано на скриншоте ниже.

обработка журналов

Logrotate с помощью cron

При установке пакета logrotate для процесса также создается файл crontab внутри /etc/cron.daily с именем logrotate. Для более подробной информации смотрите скриншот, показанный ниже.

Работа с хронозаданием Logrotate

Logrotate с помощью cron
Заключение

В этой статье вы узнали, как установить пакет logrotate и проверить файл конфигурации по умолчанию и конкретного приложения для logrotate с помощью crontab.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий