Настройка ротации системных логов Logrotate в Ubuntu Server
Создание правил автоматического сжатия, архивации и удаления старых логов Nginx, Fail2ban и Rsyslog для предотвращения переполнения дисков NVMe/SSD.
# =========================================================================
# ЖEСТКИЙ КОHТРОЛЬ ДИСКОВ — КОHФИГУРАЦИЯ ПРАВИЛ LOGROTATE
# ПУТЬ К ФАЙЛУ: /etc/logrotate.d/nginx
# =========================================================================
/var/log/nginx/*.log {
daily # Ротация логов выполняется каждые сутки
missingok # Не выдавать ошибку, если файла лога физически нет
rotate 14 # Хранить архивные логи ровно за последние 14 дней
compress # Сжимать старые логи в архив .gz для экономии места
delaycompress # Отложить сжатие последнего лога на один цикл ротации
notifempty # Не архивировать пустые файлы логов
create 0640 www-data www-data # Автоматическое создание нового лога с чистыми правами
sharedscripts
prerotate
if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
run-parts /etc/rotate.d/httpd-prerotate; \
fi \
endscript
postrotate
invoke-rc.d nginx rotate > /dev/null
endscript
}