Pular para o conteúdo principal

Os logs estão ocupando muito espaço em seu servidor. Como corrigir?

· Leitura de 2 minutos
Customer Care Engineer
info

A maioria dos arquivos de log são armazenados no diretório /var/log, mas não se limitam a ele. Os princípios descritos nesta seção se aplicam a todos os arquivos *.log em qualquer diretório de seu servidor.

Logs são arquivos que armazenam informações sobre eventos do servidor: atividade de aplicativos e do sistema operacional, vários erros, requisições de usuários a sites e muito mais. Com o tempo, os logs podem ocupar uma quantidade significativa de espaço em disco, especialmente sob carga pesada ou se houver erros de software.

Um aspecto crítico dos arquivos de log é que, na maioria dos casos, excluí-los pode causar problemas ao programa que os gera — seja um servidor web ou até mesmo o próprio sistema operacional.

Além disso, os logs frequentemente contêm informações de diagnóstico valiosas que podem ajudar a identificar problemas de software em seu servidor e prevenir problemas maiores. Portanto, é importante manuseá-los de forma adequada e cuidadosa.


Como identificar logs que podem ser limpos​

Use ncdu para localizar logs grandes no servidor. Se um arquivo de log estiver incomumente grande, verifique suas últimas entradas:

sudo tail /path/to/log

Se não houver anomalias, verifique o início do arquivo para determinar se o log cresceu muito simplesmente devido à idade (preste atenção à data das primeiras entradas):

sudo head /path/to/log

Após isso, você pode prosseguir com a limpeza do arquivo.

info

Se você não tem certeza por que o arquivo de log cresceu tanto, é melhor salvá-lo e entrar em contato com a equipe de suporte do seu provedor de hospedagem para esclarecimentos.


Como limpar logs com segurança​

O comando truncate limpa o conteúdo de um arquivo sem excluí-lo:

sudo truncate -s 0 /var/log/nginx/error.log

Note separadamente os arquivos que são logs, apesar da falta da extensão *.log:

  • /var/log/btmp
  • /var/log/syslog
  • /var/log/messeges
  • /var/log/secure
  • /var/log/maillog

Esses arquivos também podem ser limpos com segurança usando o comando truncate.

Um caso especial é o log localizado no diretório /var/log/journal. Você pode encontrar mais detalhes sobre como trabalhar com ele em um artigo separado.


Como evitar que os logs cresçam demais​

Ao analisar logs, você pode notar que alguns deles têm nomes como:

  • syslog.1
  • seusite.access.log.1

Isso aparece quando a rotação de log é aplicada, por exemplo, usando o programa logrotate. Arquivos antigos podem ser excluídos ou compactados durante a rotação, economizando espaço em disco.

Você pode ler mais sobre a configuração desse mecanismo em um artigo separado.