O que exatamente o logrotate faz para os arquivos de log do apache? (apache 2.4 - ubuntu 14.04)

0

Diferente de alguns VHOST básicos, eu tenho a configuração padrão de log do apache e do apache. Sempre que tento visualizar meus arquivos de log do apache (error.log, access.log), vejo que esses arquivos continuam sendo reordenados e reorganizados regularmente. Infelizmente, não entendo qual é a razão ou a metodologia disso.

Pelo que eu li esta manipulação de arquivo de log é realizada por um utilitário chamado "logrotate".
com uma descrição da manpage

logrotate is designed to ease administration of systems that generate large numbers of log files. It allows automatic rotation, compression, removal, and mailing of log files. Each log file may be handled daily, weekly, monthly, or when it grows too large.

Li os seguintes recursos:

Os recursos acima fornecem uma boa explicação técnica de como você configura logrotate, mas eu não estou conseguindo obter uma explicação de senso comum sobre o ponto de rotação do log e, portanto, algumas dicas sobre como funciona. Eu posso ver que ele executa compressão em alguns arquivos, o benefício disso é óbvio.

Eu entendo que logrotate é um utilitário genérico que processa arquivos de log para muitos serviços - e, portanto, sua função muda por cada configuração - mas, no contexto do apache 2.4 no Ubuntu 14.04 o que "logrotate" faz?

Atualização:

Eu encontrei este artigo que eu encontrei com uma boa explicação do senso comum sobre o que o logrotate faz e espero que possa ajudar outras pessoas que se deparar com esta questão.

When viewing directory listings in /var/log or any of its subdirectories, you may encounter log files with names such as daemon.log.0, daemon.log.1.gz, and so on. What are these log files? They are 'rotated' log files. That is, they have automatically been renamed after a predefined time-frame, and a new original log started. After even more time the log files are compressed with the gzip utility as in the case of the example daemon.log.1.gz. The purpose of log rotation is to archive and compress old logs so that they consume less disk space, but are still available for inspection as needed. What handles this functionality? Why, the logrotate command of course!

    
por Michael Coleman 07.03.2015 / 18:04

1 resposta

1

Para um serviço que grava um arquivo de log, digamos service.log , o utilitário logrotate faz algumas coisas:

  1. Iniciar um novo arquivo (vazio) service.log todos os dias;
  2. Compacte o último service.log em um arquivo .gz para não ocupar muito espaço; o novo arquivo compactado recebe um número de índice anexado, como service.log.gz.00001;
  3. O service.log.gz.[index] compactado mais antigo é excluído.

Dessa forma, você pode executar seu serviço indefinidamente sem que os logs cresçam. Todo o comportamento acima é configurável.

    
por Jos 07.03.2015 / 18:19