Como usar o comando grep para buscar informações em arquivos de log
Olá! Aqui é a Sensei da GeHost 🧘♀️. Hoje vamos aprender uma ferramenta que parece "coisa de programador", mas que na real é bem simples e pode te economizar horas de dor de cabeça: o grep.
Imagina que seu site deu um erro e você tem um arquivo de log gigante, com milhares de linhas. Procurar "na mão" seria como procurar uma agulha no palheiro. O grep é a ferramenta que faz essa busca por você, em segundos, direto pelo terminal (via SSH).
O que é o grep, afinal?
grep é um comando que existe em sistemas Linux (como o servidor que hospeda seu site) e serve para procurar um texto dentro de um arquivo. Pense nele como o "Ctrl+F" do navegador, só que rodando no terminal.
💡 Dica da Sensei: você só precisa de acesso SSH pra usar o grep. Se ainda não sabe como conectar, dá uma olhada no nosso guia sobre acesso SSH antes de continuar por aqui.
Passo a passo: a estrutura básica do comando
A forma mais simples de usar o grep é assim:
grep "palavra-que-eu-procuro" nome-do-arquivo.log
Por exemplo, se você quer achar todas as linhas que mencionam a palavra "error" dentro de um arquivo chamado error_log, o comando seria:
grep "error" error_log
Pronto! O terminal vai te devolver somente as linhas que contêm essa palavra, ignorando todo o resto do arquivo.
Passo a passo: deixando a busca mais esperta
- Ignorar maiúsculas/minúsculas. Às vezes o erro aparece como "Error", "ERROR" ou "error", e você quer achar todos de uma vez. Use o parâmetro -i:
grep -i "error" error_log - Mostrar o número da linha. Isso ajuda muito quando você precisa localizar exatamente onde o problema está no arquivo. Use -n:
grep -n "error" error_log - Contar quantas vezes aconteceu. Quer só saber "quantas vezes esse erro apareceu hoje" sem ver linha por linha? Use -c:
grep -c "error" error_log - Buscar em vários arquivos de uma vez. Se você tem uma pasta cheia de logs e não sabe em qual arquivo está o problema, use -r (de "recursivo") apontando para a pasta:
grep -r "error" ./logs/ - Combinar tudo. Você pode juntar os parâmetros. Por exemplo, buscar ignorando maiúsculas e mostrando o número da linha:
grep -in "error" error_log
Um combo poderoso: grep + tail
Se você quer acompanhar o log em tempo real (por exemplo, enquanto testa algo no site) e filtrar só o que interessa, combine o grep com o comando tail, usando o símbolo de "pipe" ( | ):
tail -f error_log | grep "error"
Isso vai mostrar, ao vivo, apenas as novas linhas do log que contenham a palavra "error", conforme elas forem acontecendo.
Onde encontrar os arquivos de log?
De modo geral, os logs de erro e de acesso do seu site ficam disponíveis dentro da sua hospedagem, e também é possível consultar versões resumidas direto pelo cPanel, na seção de Métricas (como "Logs de Acesso Brutos" e estatísticas de visitantes). Se tiver dúvida sobre o caminho exato do arquivo no seu plano, é só chamar o suporte pelo painel.gehost.com.br que a gente te orienta certinho.
⚠️ Atenção: aspas importam! Se o texto que você procura tem espaço (como "connection refused"), sempre coloque entre aspas: grep "connection refused" error_log. Sem aspas, o grep pode se confundir e não entender o que você quer buscar.
Resumo rápido para guardar
- grep "termo" arquivo → busca simples
- grep -i → ignora maiúsculas/minúsculas
- grep -n → mostra o número da linha
- grep -c → conta as ocorrências
- grep -r → busca em uma pasta inteira
- tail -f arquivo | grep "termo" → acompanha o log ao vivo e filtra
Viu como não precisa ser um mago da programação para investigar seus próprios logs? Com esses comandos você já consegue caçar erros, entender picos de acesso e economizar um bom tempo de suporte. Qualquer dúvida, a gente está aqui no painel para te ajudar. Até a próxima! 🌱