В операционной системе Astra Linux для ротации журналов используется утилита logrotate.
logrotate разработан для облегчения администрирования систем, которые порождают большое количество файлов журналов происходящих в системе событий. Утилита предоставляет автоматическое обращение, сжатие, удаление и отправление по электронной почте журналов системы. Каждый файл журнала сообщений может обрабатываться ежедневно, еженедельно, ежемесячно, либо когда его размер превысит указанный предел.
Данная статья применима к:
- 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
Информация
Справку по утилите 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 — в гигабайтах.
В случае быстрого роста размеров файлов журналов, когда ротация раз в день недостаточна, возможен принудительный запуск ротации журналов командой:
/var/log/parsec/kernel.mlog { size 100M missingok rotate 7 compress notifempty postrotate systemctl restart auditd endscript }
Для ротации с использованием указанны правил можно запускать ротацию с указанием файла в качестве параметра:
Примерный вид расписания запуска один раз в час:
# 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
Параметры ротации других журналов можно добавить по аналогии.