Настройка logrotate для ротации логов

Logrotate служит для контроля системы логирования, сжатия лог фалов, удаления старых и т.д.
Конфигурация находится по адресу /etc/logrotate.d/ и /etc/logrotate.conf.

Опишу некоторые параметры из конфигурации:
weekly # игнорировать размер файла и производить ротацию раз в неделю (daily/weekly/monthly)
missingok # отсутствие файла не является ошибкой
rotate 4 # количество хранимых сжатых файлов
size=16M # максимальный размер несжатого файла
su ПОЛЬЗОВАТЕЛЬ ГРУППА # выполнять logrotate от имени указанного пользователя и группы
compress # сжимать файлы
nocompress # не сжимать файлы
delaycompress # сжимать предыдущий файл при следующей ротации
notifempty # не обрабатывать пустые файлы
create 0640 www-data adm # после ротации создать пустой файл с заданными правами, пользователем, группой
mail адрес # по окончании отправить журнал на электронную почту
nomail # Не отправлять старые файлы журналов
start ЧИСЛО # число с которого начинается нумерация файлов
dateext # к именам файлов добавляется дата вместо номера
olddir ПУТЬ # помещать архивированные файлы в указанную директорию
noolddir # не использовать olddir

Опишу возможные ключи запуска logrotate:
-d, —debug (ничего не делать, просто выполнить тест или отладку (совместно с -v))
-f, —force (начать работу, даже если время еще не пришло)
-m, —mail=command (указать команду для отправки электронной почты)
-s, —state=statefile (использование альтернативного файла состояния)
-v, —verbose (выводить отладочную информацию)

Посмотреть информацию о ротации логов можно командой:

sudo logrotate -d /etc/logrotate.conf

Применить изменения после редактирования конфигурации можно командой:

sudo logrotate /etc/logrotate.conf

Запустить вручную используя указанный файл конфигурации можно так:

sudo logrotate -f /etc/logrotate.conf
sudo logrotate -f /etc/logrotate.d/apache2

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