
Estou trabalhando no Ubuntu 14.04 hospedando um servidor graylog. No diretório /var/log/upstart/, tenho um log em texto simples de todas as mensagens recebidas - ele está configurado para girar a cada 3 GB. No entanto, o problema que eu estava tendo antes era que sempre que ele girasse, meu "graylog-server.log" seria renomeado como "graylog-server.log.1", o que não gosto. Adicionei a palavra-chave "copy" à configuração e agora o nome do arquivo está bom! Mas também deixa todas as mensagens no arquivo de log - que desejo eliminar depois de compactadas. Então minha pergunta é...
- Existe uma palavra-chave de configuração para me ajudar a fazer isso? Eu olhei para eles, mas sou novo no logrotate, então talvez haja algo que perdi.
- Caso contrário, existe uma maneira de agendar o esvaziamento do arquivo de log logo após ele ter sido girado? Posso deixar algumas mensagens, mas isso não me preocupa muito.
Obrigado!
Configuração:
/var/log/upstart/*server.* {
size 3G
missingok
rotate 5
compress
notifempty
nocreate
copy
}
Responder1
Normalmente, o último arquivo de log girado ( file.1
) é mantido descompactado e compactado na próxima rotação ( file.1
-> file.2.gz
).
Se você deseja compactar o arquivo de log girado imediatamente, você pode adicionar o
nodelaycompress
opção.
nodelaycompress
Não adie a compactação do arquivo de log anterior para o próximo ciclo de rotação (isso substitui ocompressão de atrasoopção).