Linux Server Deployment & SSH Mastery · Aula

Rotação e Arquivamento de Registros

Implemente `logrotate` para gerenciar o tamanho dos arquivos de registro, evitar o esgotamento do disco e garantir políticas eficientes de arquivamento de registros.

Aula 3 de 411 etapas

Rotação e Arquivamento de Registros é uma aula grátis de Linux Server Deployment & SSH Mastery no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Linux Server Deployment & SSH Mastery, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Linux Server Deployment & SSH Mastery inclui 4 aulas no total.

Por que a rotação de registros é importante

Os registros do servidor são essenciais para depuração e monitoramento, mas podem crescer muito ao longo do tempo. Se não forem controlados, podem rapidamente ocupar todo o espaço em disco, causando instabilidade ou até falhas no servidor.

É aí que entra a rotação de registros. Esse é um processo essencial para gerenciar com eficiência o tamanho dos arquivos de registro.

Conhecendo o utilitário `logrotate`

Os sistemas Linux usam um utilitário chamado logrotate para automatizar o gerenciamento de arquivos de registro. Ele foi projetado para:

  • Rotacionar os registros (renomear os antigos)
  • Comprimir registros antigos para economizar espaço
  • Remover arquivos de registro muito antigos
  • Executar scripts personalizados após a rotação

A maioria das distribuições Linux já vem com o logrotate instalado e configurado para ser executado diariamente por meio de uma tarefa do cron.

Como o `logrotate` encontra as instruções

O logrotate lê sua configuração de arquivos específicos. Há dois locais principais:

  • /etc/logrotate.conf: o arquivo de configuração principal, que geralmente contém configurações globais e valores padrão.
  • /etc/logrotate.d/: um diretório onde aplicações e serviços individuais colocam suas próprias regras específicas de rotação de registros. Cada arquivo nesse diretório é tratado como uma configuração separada.

Essa abordagem modular facilita o gerenciamento de regras para diferentes serviços.

Definindo a frequência da rotação de registros

Uma das primeiras coisas a definir é a frequência com que os registros devem ser rotacionados. O logrotate oferece várias diretivas para isso:

  • daily: rotaciona os registros todos os dias.
  • weekly: rotaciona os registros uma vez por semana.
  • monthly: rotaciona os registros uma vez por mês.
  • yearly: rotaciona os registros uma vez por ano.

Escolha uma frequência que equilibre a retenção de detalhes dos registros com o uso do espaço em disco.

Mantendo uma quantidade de registros antigos

A diretiva rotate informa ao logrotate quantos arquivos de registro antigos devem ser mantidos antes que os mais antigos sejam excluídos. Por exemplo, rotate 4 significa que ele manterá o arquivo de registro atual, além de quatro versões rotacionadas (arquivadas).

Quando o limite é atingido, o registro rotacionado mais antigo é removido durante uma nova rotação.

Compactando arquivos de log antigos

Para economizar ainda mais espaço em disco, logrotate pode compactar arquivos de log antigos. A diretiva compress faz exatamente isso, normalmente usando gzip.

Quando essa opção está ativada, seus logs rotacionados aparecerão como arquivos .gz (por exemplo, myapp.log.1.gz). Isso é altamente recomendado para a maioria dos logs de servidores.

Rotacionando por tamanho, não apenas por tempo

Às vezes, os logs podem crescer muito rapidamente, e esperar por uma rotação diária ou semanal não é suficiente. A diretiva size permite rotacionar os logs quando eles excedem determinado tamanho de arquivo, independentemente da frequência definida por tempo.

  • size 100k: rotaciona se o arquivo de log for maior que 100 quilobytes.
  • size 10M: rotaciona se o arquivo de log for maior que 10 megabytes.
  • size 1G: rotaciona se o arquivo de log for maior que 1 gigabyte.

Se uma frequência de tempo (por exemplo, daily) e size forem especificadas, a rotação ocorrerá quando qualquer uma das condições for atendida.

Exemplo de configuração do `logrotate`

Veja um exemplo simples de um arquivo de configuração que você pode encontrar em /etc/logrotate.d/ para o arquivo de log de um aplicativo hipotético:

Essa configuração rotacionará o log diariamente, manterá 7 cópias antigas e as compactará.

/var/log/my_app/access.log {
    daily
    rotate 7
    compress
    notifempty
    missingok
}

Executando o `logrotate` manualmente

Embora o logrotate geralmente seja executado automaticamente pelo cron, você pode testar ou forçar uma rotação manualmente. O comando principal é logrotate /etc/logrotate.conf.

Para forçar uma rotação (útil para testar suas configurações), use a opção -f:

  • logrotate -f /etc/logrotate.d/my_app: força a rotação para um arquivo de configuração específico.
  • logrotate -f /etc/logrotate.conf: força a rotação de todos os logs configurados.

Use a opção -d (depuração) para ver o que o comando faria sem realmente rotacionar nada.

Verificação rápida: retenção de logs

Considere a seguinte configuração do logrotate para /var/log/webserver/error.log:

/var/log/webserver/error.log { weekly rotate 4 compress notifempty }

Se essa configuração estiver em execução há várias semanas, quantos arquivos de log históricos *compactados* você esperaria encontrar a qualquer momento?

Recapitulação: dominando o gerenciamento de logs

Nesta lição, exploramos como gerenciar logs de servidores de forma eficaz usando o logrotate. Aprendemos que:

  • A rotação de logs evita o esgotamento do espaço em disco.
  • O logrotate usa arquivos de configuração em /etc/logrotate.conf e /etc/logrotate.d/.
  • As principais diretivas incluem daily/weekly/monthly para a frequência, rotate para a retenção, compress para economizar espaço e size para a rotação condicional.

O gerenciamento adequado de logs é fundamental para a operação estável dos servidores!

Grátis para começar

Aprenda Linux Server Deployment & SSH Mastery com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
12
Aulas
48

Perguntas Frequentes

A aula “Rotação e Arquivamento de Registros” é grátis?

Sim — o texto completo de “Rotação e Arquivamento de Registros” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Linux Server Deployment & SSH Mastery, atualize para CoddyKit PRO. O curso de Linux Server Deployment & SSH Mastery inclui 4 aulas no total.

O que vou aprender em “Rotação e Arquivamento de Registros”?

Implemente `logrotate` para gerenciar o tamanho dos arquivos de registro, evitar o esgotamento do disco e garantir políticas eficientes de arquivamento de registros. Você pratica Linux Server Deployment & SSH Mastery com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Linux Server Deployment & SSH Mastery?

Nenhuma experiência prévia é necessária. Linux Server Deployment & SSH Mastery no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Rotação e Arquivamento de Registros”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Linux Server Deployment & SSH Mastery?

Sim. Cada aula de Linux Server Deployment & SSH Mastery inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Ferramentas de Monitoramento do Sistema
  2. Entendendo os Registros do Sistema
  3. Rotação e Arquivamento de Registros
  4. Monitoramento e Alertas Centralizados
← Voltar para Linux Server Deployment & SSH Mastery