logrotate - архивирование лог-файлов

    Астра записывает информацию о своем состоянии, результатах работы и ошибках в лог файл. Стандартное расположение логов или как их еще называют - журналов - в папке /var/log.

    С помощью анализа логов вы можете понять что работает не так, почему произошла ошибка и как решить возникшую проблему. Но тот кроется одна проблема. Размер логов постоянно растет и они занимают все больше и больше места на диске, поэтому необходимо вовремя чистить логи и удалять устаревшие записи, чтобы они не мешали нормально работать. Это можно делать вручную время от времени или настроить скрипты Cron, но есть еще более простой вариант - утилита logrotate.

    создадим файл /etc/logrotate.d/astra с содержимым:

    /var/log/astra.log {
    su
    daily
    rotate 3
    size 5M
    compress
    delaycompress
    missingok
    nocreate
    nomail
    notifempty
    copytruncate
    }
    

    /var/log/astra.log - с каким лог-файлом работаем.
    su - работаем от root
    daily - выполняем ротацию каждый день
    rotate 3 - количество архивов
    size 5M - выполнить ротацию если размер превысил 5 мегабайт
    compress - сжимать ротируемый файл
    delaycompress - не сжимать последний и предпоследний журнал
    missingok - отсутствие файла не является ошибкой
    nocreate - не создавать пустой файл
    nomail - не оповещать и не присылать последние логи в mail
    notifempty - не обрабатывать пустые файлы
    copytruncate - после создания копии, обрезать исходный файл журнала взамен перемещения старого файла журнала и создания нового

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

    logrotate /etc/logrotate.conf
    

    Для проверки изменений нужно запустить команду (никаких действий с логами не будет выполнено):

    logrotate -d /etc/logrotate.conf
    

    Настройка Logrotate завершена