Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

В операционной системе Astra Linux для ротации журналов используется утилита logrotate.

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


Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Special Edition РУСБ.10015-16 исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12



Информация
titleИнформация

Справку по утилите logrotate можно получить

по команде

с помощью команды:

Command
man logrotate



Создадим конфигурационный файл в котором будут прописаны настройки Пример конфигурационного файла с настройками ротации:

Блок кода
themeMidnight
title/etc/logrotate.d/kernlog
/var/log/parsec/kernel.mlog {
    daily
    missingok
    rotate 7
    compress 
    notifempty
    postrotate
        /etc/init.d/parlogd restart > /dev/null
    endscript
}

Разберем директивыДирективы, указанные используемые в конф. конфигурационном файле:

  • daily
Ежедневная
  • --- ежедневная ротация файлов журналов. Можно настроить ротацию по достижению файла журнала определенного размера. См. также директиву size;
  • missingok
Если
  • --- если файл журнала отсутствует, перейти к следующему без создания сообщения об ошибке
.
  • ;
  • rotate
7Файлы
  • <количество> — файлы журнала ротируются
7
  • указанное количество раз перед тем, как будут удалены или отправлены на адрес, указанный в директиве mail
  • ;
  • compress
Сжать
  • — сжать старые файлы журналов. Несмотря на то что файлы журналов представлены в бинарном виде, сжимаются они на ура
  • ;
  • notifempty
  • Не ротировать журнал если он пуст
.
  • ;
  • postrotate/endscript
Строки между
  • — команды, указанные между директивой postrotate и директивой endscript (каждая
из которых
  • команда должна располагаться в отдельной строке) выполняются после ротации файла журнала при помощи /bin/sh. В
данном случае перезапускается демон parlogd,
  • приведенном выше примере перезапускается системная служба parlogd для пересоздания файлов её журналов
.
  • ;
  • size размер
Ротация
  • — ротация будет происходить раз в день
,
  • (запуск logrotate по cron'у осуществляется раз в день)
но будут
  • но будут ротированы только
те
  • файлы журналов, размер которых больше указанного размера в байтах. Если использована буква k, то размер указан в килобайтах. Если размер указан с буквой M,
подразумевается
  • то используется размер в мегабайтах
. Если используется буква G, то размер указан
  • , с буквой G — в гигабайтах. 


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

Command

sudo logrotate /etc/logrotate.d/kernlog

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

Для этого в конф.файле нужно В конфигурационных файлах в каталоге /etc/logrotate.d/ можно указать отдельные файлы с правилами ротации для отдельных журналов. Например, указать размер, при котором следует ротировать файл /var/log/parsec/kernel.mlog:

Блок кода
themeMidnight
title/etc/logrotate.d/kernlog
/var/log/parsec/kernel.mlog {
    size 100M
    missingok
    rotate 7
    compress 
    notifempty
    postrotate
        /etc/init.d/parlogd		systemctl restart > /dev/nullauditd
    endscript
}
И, например, запускать 


Информация
Для ядер 4.х вместо службы auditd следует использовать службу parlogd.

Для ротации с использованием указанны правил можно запускать ротацию с указанием файла в качестве параметра:

Command
sudo logrotate /etc/logrotate.d/kernlog

Ротацию можно автоматически запускать с помощью службы по cron'у  раз в часу,  разместив скрипт выполнения сценарий запуска в каталоге /etc/cron.hourly/ или прописав в использовав команду crontab:

Command

sudo crontab -e

Примерный вид расписания запуска один раз в час:

Блок кода
themeMidnight
titlecrontab -e
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command

* 0 * * * *       /usr/sbin/logrotate /etc/logrotate.d/kernlog

Параметры ротации журнала user.mlog других журналов можно добавить в этот же файл, либо создать по аналогии новый. (обычно user.mlog не так раздувает)