В операционной системе Astra Linux для ротации журналов используется утилита logrotate.
logrotate разработан logrotate разработан для облегчения администрирования систем, которые порождают большое количество файлов журналов происходящих в системе событий. Утилита предоставляет автоматическое обращение, сжатие, удаление и отправление по электронной почте журналов системы. Каждый файл журнала сообщений может обрабатываться ежедневно, еженедельно, ежемесячно, либо когда увеличится в размерах выше указанного пределаего размер превысит указанный предел.
Информация | ||
---|---|---|
| ||
|
Информация | ||
---|---|---|
| ||
Справку по утилите logrotate можно получить с помощью команды:
|
Пример конфигурационного файла с настройками ротации:
Блок кода | ||||
---|---|---|---|---|
| ||||
/var/log/parsec/kernel.mlog {
daily
missingok
rotate 7
compress
notifempty
postrotate
/etc/init.d/parlogd restart > /dev/null
endscript
} |
Директивы,
используемые в
конфигурационном файле:
- daily
- --- ежедневная ротация файлов журналов. Можно настроить ротацию по достижению файла журнала определенного размера. См. также директиву size;
- missingok
- --- если файл журнала отсутствует, перейти к следующему без создания сообщения об ошибке
- ;
- rotate
- <количество> — файлы журнала ротируются
- указанное количество раз перед тем, как будут удалены или отправлены на адрес, указанный в директиве mail
- ;
- compress
- — сжать старые файлы журналов. Несмотря на то что файлы журналов представлены в бинарном виде, сжимаются они на ура
- ;
- notifempty
- — Не ротировать журнал если он пуст
- ;
- postrotate/endscript
- — команды, указанные между директивой postrotate и директивой endscript (каждая
- команда должна располагаться в отдельной строке) выполняются после ротации файла журнала при помощи /bin/sh. В
- приведенном выше примере перезапускается системная служба parlogd для пересоздания файлов её журналов
- ;
- size размер
- — ротация будет происходить раз в день
- (запуск logrotate по cron'у осуществляется раз в день)
- но будут ротированы только
- файлы журналов, размер которых больше указанного размера в байтах. Если использована буква k, то размер указан в килобайтах. Если размер указан с буквой M,
- то используется размер в мегабайтах
- , с буквой G — в гигабайтах.
В случае быстрого роста размеров файлов журналов, когда ротация раз в день недостаточна, возможен принудительный запуск ротации журналов командой:
Command |
---|
sudo logrotate /etc/logrotate.d/kernlog |
Такое может понадобится в случае быстрого роста файла журнала, когда ротация раз в день не помогает.
Для этого в конф.файле нужноВ конфигурационных файлах в каталоге /etc/logrotate.d/ можно указать отдельные файлы с правилами ротации для отдельных журналов. Например, указать размер, при котором следует ротировать файл /var/log/parsec/kernel.mlog:
Блок кода | ||||
---|---|---|---|---|
| ||||
/var/log/parsec/kernel.mlog {
size 100M
missingok
rotate 7
compress
notifempty
postrotate
systemctl restart |
auditd endscript } |
Информация |
---|
Для ядер 4.х вместо службы auditd следует использовать службу parlogd. |
Для ротации с использованием указанны правил можно запускать ротацию с указанием файла в качестве параметра:
Command |
---|
sudo logrotate /etc/logrotate.d/kernlog |
Ротацию можно автоматически запускать с помощью службы cron'
у, разместив
сценарий запуска в каталоге /etc/cron.hourly/ или
использовав команду crontab
:
Command |
---|
sudo crontab -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 |
Параметры ротации
других журналов можно добавить
по аналогии
.
title | Информация |
---|
Справку по утилите logrotate можно получить с помощью команды: