В операционной системе Astra Linux для ротации журналов используется утилита logrotate.
logrotate разработан для облегчения администрирования систем, которые порождают большое количество файлов журналов происходящих в системе событий. Утилита предоставляет автоматическое обращение, сжатие, удаление и отправление по электронной почте журналов системы. Каждый файл журнала сообщений может обрабатываться ежедневно, еженедельно, ежемесячно, либо когда его размер превысит указанный предел.
|
Справку по утилите logrotate можно получить с помощью команды:
|
Пример конфигурационного файла с настройками ротации:
/var/log/parsec/kernel.mlog {
daily
missingok
rotate 7
compress
notifempty
postrotate
/etc/init.d/parlogd restart > /dev/null
endscript
} |
Директивы, используемые в конфигурационном файле:
В случае быстрого роста размеров файлов журналов, когда ротация раз в день недостаточна, возможен принудительный запуск ротации журналов командой:
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. |
Для ротации с использованием указанны правил можно запускать ротацию с указанием файла в качестве параметра:
| sudo logrotate /etc/logrotate.d/kernlog |
Ротацию можно автоматически запускать с помощью службы cron'у, разместив сценарий запуска в каталоге /etc/cron.hourly/ или использовав команду crontab:
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 |
Параметры ротации других журналов можно добавить по аналогии.