CentOS: logrotate – ротация логов

CentOS: logrotate – ротация логов

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

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

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

1 # RPM packages drop log rotation information into this directory
2 include /etc/logrotate.d

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

Создаём файл /etc/logrotate.d/iptables.conf с таким содержимым:

01 /var/log/iptables.log {
02     rotate 5
03     missingok
04     notifempty
05     compress
06     size 1M
07     daily
08     create 0644 root root
09     postrotate
10         service rsyslog restart > /dev/null
11     endscript
12 }

Опции тут:

  • rotate – количество копий старых логов;
  • missingok – не писать сообщения в stdout, если файл отсутствует;
  • notifempty – не выполнять никаких действий, если файл пустой;
  • compress – сжимать gzip;
  • size – размер файла, при достижении которого он будет сжат и сохранён как старый;
  • daily – выполнять проверку каждый день;
  • create – права доступа и владелец при создании нового файла;

Дополнительные опции:

  • olddir – перемещать старые логи в указанную директорию;
  • postrotate/endscript – действие, выполняемое после ротации логов;
  • mail – адрес, на который высылать уведомление о ротации;

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

1 # logrotate -f /etc/logrotate.conf

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

Проверяем:

1 # ls -hl /var/log/iptables*
2 -rw-r--r-- 1 root root 939K Dec  6 10:46 /var/log/iptables.log
3 -rw-r--r-- 1 root root 451K Dec  6 10:40 /var/log/iptables.log-20141206.gz
1 # cat /var/lib/logrotate.status | grep iptables
2 "/var/log/iptables.log" 2014-12-6

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *