Logrotate. Centos 7. Настройка

Материал из Wiki
Перейти к навигации Перейти к поиску

Описание

Logrotate - ротация логов

Настройка

Общая информация

Что бы избежать заполнения диска старыми логами – необходимо настроить утилиту logrotate

Основной файл конфигурации /etc/logrotate.conf

Для создания настроек отдельных логов – используем директорию /etc/logrotate.d

Добавим наблюдение за логом /var/log/iptables.log

Создаём файл /etc/logrotate.d/iptables.conf

nano /etc/logrotate.d/iptables.conf

rotate – количество копий старых логов;

missingok – не писать сообщения в stdout, если файл отсутствует;

notifempty – не выполнять никаких действий, если файл пустой;

compress – сжимать gzip;

size – размер файла, при достижении которого он будет сжат и сохранён как старый;

daily – выполнять проверку каждый день;

create – права доступа и владелец при создании нового файла;

olddir – перемещать старые логи в указанную директорию;

postrotate/endscript – действие, выполняемое после ротации логов;

mail – адрес, на который высылать уведомление о ротации;

/var/log/iptables.log {
   rotate 5
   missingok
   notifempty
   compress
   size 1M
   daily
   create 0644 root root
   postrotate
       service rsyslog restart > /dev/null
   endscript
}

Для проверки выполняем

Это действие выполнит обязательную ротацию всех логов, указанных в конфигурации logrotate

logrotate -f /etc/logrotate.conf

Включаем ротацию логов FTP

yum install logrotate

nano /etc/logrotate.conf

...
# комментим ротацию wtmp
#
# no packages own wtmp and btmp -- we'll rotate them here
#/var/log/wtmp {
#    monthly
#    create 0664 root utmp
#       minsize 1M
#    rotate 1
#}
...

nano /etc/logrotate.d/ftp.conf

/var/log/ftp.log {
    rotate 3
    missingok
    notifempty
    compress
    size 1M
    daily
    create 0644 root root
    postrotate
        service rsyslog restart > /dev/null
    endscript
}

nano /etc/logrotate.d/wtmp.conf

/var/log/wtmp {
    rotate 3
    missingok
    notifempty
    compress
    size 1M
    daily
    create 0644 root root
    postrotate
        service rsyslog restart > /dev/null
    endscript
}

logrotate -f /etc/logrotate.conf

Перезапустится rsyslogd, а вместе с ним и ротация, должны создаться файлы архива старых логов tar.gz, а текущие логи похудеть в объеме