Назад | Перейти на главную страницу

Как сделать так, чтобы logrotate сохранял последнюю неделю в текущем .log

Можно ли заставить logrotate сохранять логи последней недели в текущем файле?

например :

errors.log содержит журналы за 30 дней

после выполнения ротации журнала у меня было бы:

error.log с журналом за последние 7 дней

и

errors.log.1.gz сжимается с 23 другими днями.

Это возможно?

weekly
rotate 4
compress

за которым следует сценарий postrotate, выполняющий что-то вроде (непроверено):

TMP=$(mktemp)
zcat /var/log/errors.log.{4,3,2,1}.gz > $TMP
mv $TMP /var/log/errors.log.1
gzip /var/log/errors.log.1

Ура.