
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 запускать ежечасно, еженедельно, раз в год или в определенное время и/или день.
Редактор: AndreyEx
Поделиться в соц. сетях: