ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как использовать Logrotate для управлением журналами на Ubuntu

Как использовать Logrotate для управлением журналами на Ubuntu

Logrotate это инструмент, используемый системными администраторами, чтобы облегчить управление большими лог – файлами, созданных с помощью системных служб. Наиболее важными особенностями Logrotate являются автоматическое дробление журналов, сжатия журнала, удаление журналов и отправка по почте файлов журналов. На этом уроке, мы собираемся показать вам, как использовать Logrotate для управления лог – файлами, генерируемыми службами, работающих на вашем Linux VPS.

Перед тем , как начать, убедитесь, что Logrotate установлен на вашем сервере. Подключитесь к серверу через SSH и проверьте, если Logrotate установлен с помощью следующей команды:

sudo dpkg -l | grep logrotate

Если он не установлен на вашем Ubuntu VPS, мы поможем Вам установить его. Во- первых, убедитесь, что все пакеты и их обновления в настоящее время установленные в системе обновлены до последней версии, используя следующие команды:

sudo apt-get update
sudo apt-get upgrade

После того, как менеджер пакетов завершит обновление, установим Logrotate:

sudo apt-get install logrotate

Убедитесь в том, что установка прошла успешно:

sudo logrotate

Вы должны получить сообщение вроде следующего:

logrotate 3.8.7 - Copyright (C) 1995-2001 Red Hat, Inc.
This may be freely redistributed under the terms of the GNU Public License

Usage: logrotate [-dfv?] [-d|--debug] [-f|--force] [-m|--mail=command] [-s|--state=statefile] [-v|--verbose] [--version] [-?|--help] [--usage] [OPTION...]

Основной конфигурационный файл для Logrotate это /etc/logrotate.conf в то время, как файлы конфигурации приложения хранятся в каталоге /etc/logrotate.d.

В зависимости от того, какие установлены службы на вашем Ubuntu VPS, то каталог /etc/logrotate.d может содержать больше или меньше конфигурационных файлов. Если вы еще не проверили, теперь настало время, чтобы получить список содержимого этого каталога и ознакомиться с услугами, для которых Logrotate настроен на работу. В качестве примера мы будем использовать файл /etc/logrotate.d/dpkg, чтобы показать вам некоторые из наиболее важных параметров конфигурации. Откройте файл с помощью текстового редактора:

sudo nano /etc/logrotate.d/dpkg

Содержимое файла конфигурации должно быть аналогично приведенному ниже:

/var/log/dpkg.log {
        monthly
        rotate 12
        compress
        delaycompress
        missingok
        notifempty
        create 644 root root
}
/var/log/alternatives.log {
        monthly
        rotate 12
        compress
        delaycompress
        missingok
        notifempty
        create 644 root root
}

Logrotate запускает /var/log/dpkg.log и /var/log/alternatives.log ежемесячно. Время обработки задается с опцией monthly. Другие варианты обработки являются daily, hourly, weekly и yearly.

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

Следующий параметр – compress который определяет, что старые версии лог – файлов должны быть сжаты. Альтернативный вариант, nocompress и в могут быть использованы в тех случаях, когда старые версии файлов журналов не должны быть сжаты.

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

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

create 644 root root используется, чтобы немедленно создать файл журнала после обработке с использованием конкретного режима, владельца и группы.

Другой вариант, который не упоминается в этом примере и может оказаться полезными в ваших пользовательских конфигураций: size. Эта опция позволяет настроить Logrotate обрабатывать лог – файлы, только если они получают больше определенного размера. Размер может быть указан в байтах, килобайтах, мегабайтах и гигабайтах. Поэтому size 100, size 100k, size 100Mи size 100G все действительны.

Для подробной информации и параметров конфигурации вы можете проверить страницу руководства Logrotate.

man logrotate

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

Exit mobile version