Что бы избежать заполнения диска старыми логами — необходимо настроить утилиту logrotate.
Основной файл конфигурации — /etc/logrotate.conf.
Для создания настроек отдельных логов — используем директорию /etc/logrotate.d, которая описана как:
# RPM packages drop log rotation information into this directory include /etc/logrotate.d
Добавим наблюдение за логом /var/log/iptables.log.
Создаём файл /etc/logrotate.d/iptables.conf с таким содержимым:
/var/log/iptables.log {
rotate 5
missingok
notifempty
compress
size 1M
daily
create 0644 root root
postrotate
service rsyslog restart > /dev/null
endscript
}
Опции тут:
rotate— количество копий старых логов;missingok— не писать сообщения вstdout, если файл отсутствует;notifempty— не выполнять никаких действий, если файл пустой;compress— сжиматьgzip;size— размер файла, при достижении которого он будет сжат и сохранён как старый;daily— выполнять проверку каждый день;create— права доступа и владелец при создании нового файла;
Дополнительные опции:
olddir— перемещать старые логи в указанную директорию;postrotate/endscript— действие, выполняемое после ротации логов;mail— адрес, на который высылать уведомление о ротации;
Для проверки — выполняем:
# logrotate -f /etc/logrotate.conf
Учтите — это действие выполнит обязательную ротацию всех логов, указанных в конфигурации logrotate.
Проверяем:
# ls -hl /var/log/iptables* -rw-r--r-- 1 root root 939K Dec 6 10:46 /var/log/iptables.log -rw-r--r-- 1 root root 451K Dec 6 10:40 /var/log/iptables.log-20141206.gz
# cat /var/lib/logrotate.status | grep iptables "/var/log/iptables.log" 2014-12-6




