Ротация логов logrotate
шпаргалка · Ubuntu 24.04 https://lab.dimsanych.ru/ru/wiki/logrotate/Шпаргалка
-
sudo logrotate -d /etc/logrotate.confdry-run (ничего не меняет) -
sudo logrotate -f /etc/logrotate.d/nginxфорсировать сейчас -
cat /var/lib/logrotate/statusистория ротаций - блок: daily|size / rotate N / compress / postrotate reload (или copytruncate) / su user group
Конфигурация
Глобально — /etc/logrotate.conf, по сервисам — /etc/logrotate.d/<service>:
Директивы
| Директива | Смысл |
|---|---|
daily/weekly/monthly |
период |
size 100M |
ротация по размеру (вместо/вместе с периодом) |
rotate N |
сколько копий хранить |
compress/delaycompress |
сжимать / отложить сжатие на цикл |
copytruncate |
копировать и обнулить (если служба не умеет переоткрыть лог) |
postrotate…endscript |
команда после ротации (reload службы) |
maxage N |
удалять старше N дней |
postrotate (reload/переоткрытие) или copytruncate нужны, чтобы служба начала
писать в новый файл.