Se a diretiva tamanho for usada, o logrotate ignorará o diário , semanal , mensal e < directivas strongs> anuais . Isso não está claro na documentação quando você executa o comando man logrotate
. No entanto, isso pode ser confirmado na prática e é mencionado em algumas postagens arbitrárias no blog como essa a>.
Existe uma diretiva chamada minsize que, de acordo com a página de manual logrotate, é a única diretiva de tamanho que pode ser usada em conjunto com as de tempo. No entanto, ainda não é o que você quer. A utilização de minsize com diariamente diz essencialmente: gira os registos diariamente, mas apenas quando têm pelo menos #MB de tamanho .
Até hoje não encontrei nenhuma maneira com o logrotate para fazer a condição que você precisa: girar todos os dias, a menos que o tamanho exceda #MB, caso em que rodar imediatamente . Eu não acho que isso é suportado usando apenas diretivas logrotate. Pode ser possível fazer com alguns scripts inteligentes por meio das diretivas de gancho de script como prerotate , postrotate , firstaction e lastaction .
Atualizar :
A partir do logrotate 3.8.1, maxsize
e timeperiod
são suportados juntos, o que seria a solução ideal. Veja a resposta a este post: