Почтовые сервера с небольшим объемом жесткого диска быстро забиваются логами.
Задача: Настроить авто очистку логов с сохранением последних записей.
Решение: настроить авто управление лог файлами
Программы: logrotate
Конфигурация сервера: Vesta cp / Exim / Power MTA
Порада партнера - онлайн тренінг з продажу В2В в Україні
logrotate — это программа автоматической обработки логов с гибкими и простыми настройками
Статья о том как почистить лог файлы в ручную
Установка logrotate
Основные настройки:
находятся в файле /etc/logrotate.conf, настройки правил правильнее размещать в /etc/logroate.d/.
Однако не запрещается прописывать и в основном конфигурационном файле.
Для удобства примера мы пропишем все настройки в основной файл /etc/logrotate.conf
Спойлер
# смотрите «man logrotate» для деталей
# ротация файлов журнала еженедельно
weekly
# хранить за 4 недели
rotate 4
# создавать новые (пустые) файлы журнала после ротации старых
create
# использовать дату в качестве суффикса повернутого файла
dateext
# раскомментируйте это, если вы хотите сжать файлы журнала
#compress
# RPM-пакеты сбрасывают информацию о ротации журнала в этот каталог
include /etc/logrotate.d
# нет пакетов с собственными wtmp и btmp — мы будем вращать их здесь
/var/log/wtmp {
monthly
create 0664 root utmp
minsize 1M
rotate 1
}
/var/log/btmp {
missingok
monthly
create 0600 root utmp
rotate 1
}
# Системные журналы также могут быть настроены здесь.
Спойлер
hourly — каждый час;
daily — каждый день;
weekly — каждую неделю;
monthly — каждый месяц;
yearly — каждый год.
Основные директивы управления и обработки логов:
rotate — указывает сколько старых логов нужно хранить, в параметрах передается количество;
create — указывает, что необходимо создать пустой лог файл после перемещения старого;
dateext — добавляет дату ротации перед заголовком старого лога;
compress — указывает, что лог необходимо сжимать в архив;
delaycompress — не сжимать последний и предпоследний журнал;
extension — сохранять оригинальный лог файл после ротации, если у него указанное расширение;
mail — отправлять Email после завершения ротации;
maxage — выполнять ротацию журналов, если они старше, чем указано;
missingok — не выдавать ошибки, если лог файла не существует;
olddir — перемещать старые логи в отдельную папку;
postrotate/endscript — выполнить произвольные команды после ротации;
start — номер, с которого будет начата нумерация старых логов;
size — размер лога, когда он будет перемещен;
Пользовотельские настройки
адрес_файла_лога {
директивы настроек ротации
}
/var/log/*.log — можно использовать подстановочный знак * для ротации всех файлов с расширением .log или другие
Основные log папки почтового сервера:
/var/log
/var/log/audit
/var/log/exim
/var/log/ConsoleKit
/var/log/httpd
/var/log/nginx
/var/log/ntpstats
/var/log/qemu—ga
/var/log/roundcubemail
/var/log/sa
Лог фaйлы Power MTA
/var/log/pmta
Лог фaйлы Vesta CP
/usr/local/vesta/log/
