Como Ether observa, caminhos sobrepostos são intencionalmente proibidos.
Se você deseja e pode executar logrotate
com a opção de shell extglob
enabled ( shopt -s extglob
no ambiente raiz executando crontab
logrotate
) ou já está definido (verifique com shopt extglob
em o mesmo ambiente), você pode criar exclusões de caminho explícitas, que logrotate.conf
não prevê. Você precisaria declarar cada exclusão. É claro que uma solução melhor é reconfigurar o sistema de registro para usar diretórios separados para os arquivos que requerem tratamento especial, se for uma opção.
Com extglob
, você pode declarar o seguinte:
/home/myapp/log/!(warning.log) {
daily
compress
dateext
ifempty
delaycompress
olddir /home/myapp/baklog
}
... e o !(warning.log)
corresponderá a todos os arquivos, exceto aquele, permitindo que você escreva regras específicas para ele. Isso é confuso e introduz alguma manutenção, então, novamente, é muito melhor se você puder configurar o sistema de log de seu aplicativo para registrar arquivos de log especiais de alta prioridade ou outros em um diretório separado.