Gere os logs do apache com base no tamanho do arquivo no Ubuntu

2

Eu tenho três sites no meu servidor e seus logs (logs do Apache) estão em sua pasta raiz, não em / var / log. Eu preciso de um script que gira o access_log e error_log base em seu tamanho de arquivo, por exemplo, gira-los quando o tamanho do arquivo exceder 1G.

O sistema operacional do servidor é o Ubuntu.

Eu tenho uma habilidade básica de programação de shell, mas bom talento na aprendizagem;) você me ajudaria nessa questão?

    
por hd01 25.06.2011 / 09:04

2 respostas

3

logrotate pode ser configurado para girar somente quando os logs excederem um determinado tamanho, veja a opção minsize. Normalmente, o logrotate é executado diariamente, se você quiser girar quando o arquivo de log for mais ou menos exatamente 1GB, você pode precisar de um script que observe o arquivo de log e acione o logrotate quando exceder seu limite.

Como alternativa, você pode manter a rotação diária de arquivos de log menores, mas ter um script postrotate que concatene os logs girados juntos em conjuntos de dados de 1 GB.

    
por 25.06.2011 / 09:15
0

Você pode usar managelogs exatamente para isso.
Ele irá rotacionar automaticamente os logs quando o limite for atingido.
Ele também tem outros recursos interessantes, como gravar diretamente em arquivos compactados, manter uma quantidade maior de arquivos, etc.

    
por 25.06.2011 / 13:03