Servidor & DevOps 41 visualizações

Como configurar rotação automática de logs no VPS para evitar que o disco encha

Ver no WHMCS

Como configurar rotação automática de logs no VPS para evitar que o disco encha

Olá, amigo(a) desenvolvedor(a) ou administrador(a) de servidor! Seja bem-vindo(a) ao seu guia de confiança na GeHost, onde aprendemos juntos, com calma e cuidado — como um verdadeiro Sensei que te acompanha passo a passo. 🌿

Se você já percebeu que seu disco está ficando cheio por causa de arquivos de log, ou tem medo de que isso aconteça no futuro, não se preocupe: vamos resolver isso com uma rotação automática de logs — um recurso essencial para manter seu servidor saudável e rápido.

Atenção: Este guia é voltado para usuários com acesso ao terminal (SSH) em um VPS. Se você está em um plano de hospedagem compartilhada com cPanel, o controle direto sobre logs é limitado — mas ainda assim, este conteúdo pode te ajudar a entender o que está acontecendo e como pedir ajuda ao suporte com mais clareza.

Dica do Sensei: Logs são como o diário do seu servidor. Eles contam tudo o que acontece — erros, acessos, processos. Sem rotação, esse diário cresce sem parar e acaba ocupando todo o espaço. A rotação é o ato de "arquivar" os logs antigos e começar um novo. É como fechar um caderno e abrir outro!

Passo a passo: configurar rotação automática de logs

Vamos usar o logrotate, um utilitário padrão em sistemas Linux (como CentOS, Debian, Ubuntu) que faz exatamente isso: rotaciona, compacta e exclui logs antigos de forma segura.

  1. Acesse seu VPS via SSH

    Use seu cliente SSH favorito (como PuTTY, Terminal, ou o terminal integrado do painel). Conecte-se ao seu servidor com as credenciais fornecidas.

  2. Verifique se o logrotate está instalado

    Abra o terminal e digite:

    logrotate --version

    Se aparecer a versão, tudo certo! Se não, o sistema pode não ter o pacote instalado. Em sistemas Debian/Ubuntu, use:

    sudo apt update && sudo apt install logrotate -y

    Em CentOS/RHEL:

    sudo yum install logrotate -y
  3. Localize os arquivos de log que quer rotacionar

    Os logs mais comuns estão em:

    • /var/log/apache2/ ou /var/log/httpd/ (logs do Apache)
    • /var/log/nginx/ (logs do Nginx)
    • /var/log/syslog (logs do sistema)
    • /var/log/auth.log (logs de autenticação)

    Se você tem um aplicativo personalizado, verifique onde ele salva os logs (ex: /var/log/meuapp.log).

  4. Crie um arquivo de configuração personalizado

    Os arquivos de configuração do logrotate ficam em /etc/logrotate.d/. Crie um novo arquivo com o nome do seu serviço ou aplicativo:

    sudo nano /etc/logrotate.d/meuapp

    Insira o seguinte conteúdo (ajuste conforme seu caminho de log):

        /var/log/meuapp.log {
            daily
            rotate 7
            compress
            delaycompress
            missingok
            notifempty
            create 644 root root
        }
        

    Explicando:

    • daily — rotaciona diariamente.
    • rotate 7 — mantém apenas os últimos 7 arquivos (ou seja, 7 dias).
    • compress — compacta os arquivos antigos com gzip.
    • delaycompress — evita compactar o primeiro arquivo da rotação (melhor para backup).
    • missingok — não dá erro se o log não existir.
    • notifempty — não rota se o arquivo estiver vazio.
    • create 644 root root — cria um novo arquivo com permissões 644 e dono root.
  5. Teste a configuração

    Para testar se a configuração está correta, execute:

    sudo logrotate -d /etc/logrotate.d/meuapp

    Se não aparecer erros, está tudo certo!

  6. Ative a rotação automática

    O logrotate já roda automaticamente via cron. Em geral, ele é executado diariamente. Para verificar:

    sudo cat /etc/cron.daily/logrotate

    Se o arquivo existir e tiver conteúdo, está tudo configurado. Caso contrário, você pode criar um link simbólico ou usar o crontab -e para agendar.

Como saber se está funcionando?

Depois de alguns dias, verifique o diretório onde seus logs estão salvos. Você verá arquivos como:

  • meuapp.log (arquivo atual)
  • meuapp.log.1.gz (arquivo do dia anterior, compactado)
  • meuapp.log.2.gz (do dia antes do anterior)
  • ...

Se isso estiver acontecendo, parabéns! Seu servidor está com os logs sob controle. 🎉

Dica do Sensei: Se você não tem certeza sobre o caminho do seu log, use o comando find /var/log -name "*.log" | grep -i "seuapp" para localizar arquivos relacionados.

Quer mais segurança?

Se seu aplicativo escreve logs em um diretório personalizado (ex: /home/usuario/logs/), siga o mesmo passo a passo, mas ajuste o caminho no arquivo de configuração.

Se precisar de ajuda, entre em contato com nosso suporte técnico — estamos aqui para te ajudar com carinho. Basta acessar o painel do cliente e abrir um chamado. Lembre-se: nosso suporte é gratuito nos primeiros 30 dias após a entrega. 🌟

Se você está com dúvidas sobre como encontrar o caminho do seu log, ou quer que verifiquemos a configuração, é só pedir. A GeHost cuida de você, como cuidamos de nossa própria casa.

Tela inicial do cPanel com os grupos de ferramentas

Importante: Este guia é parte do Guia de Base de Conhecimento da GeHost, mantido com carinho por Raphael Neves Koga, dono do Grupo G e Soluções e Eventos LTDA (CNPJ: 46.647.904/0001-04). Estamos aqui para ajudar, sempre.

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.