100% de uso de disco! Como salvei meu servidor WordPress de crashes repetidos na AWS
A noite em que meu servidor desistiu
Nunca vou esquecer a sensação de angústia ao ver meus sites WordPress ficarem offline de repente — de novo. Os visitantes encontravam páginas em branco ou mensagens de erro. As ferramentas de monitoramento de uptime começaram a disparar alertas no meio da noite. Meu nível de estresse disparou. O culpado? Crashes repetidos do servidor na AWS, tudo por causa de um único problema: 100% de uso de disco.
Se você está rodando um site WordPress (ou vários) em uma instância AWS EC2 e nota tempo de inatividade aleatório, desempenho lento ou erros estranhos, pode estar no mesmo caminho que eu. Mas a boa notícia? Você pode resolver — e prevenir de vez. Aqui está minha jornada real de resolução de problemas.
O que "100% de uso de disco" no AWS EC2 significa (e como identificar)
Quando seu servidor Linux atinge 100% de uso de disco, cada serviço — de Nginx/Apache a MySQL e PHP — começa a falhar. Você pode ver:
- Sites que crasheiam repentinamente ou ficam inacessíveis
- WordPress "error establishing a database connection"
- Impossibilidade de fazer SSH ou executar comandos básicos (até salvar arquivos falha)
- Logs ou ferramentas de monitoramento mostrando "No space left on device"
- AWS CloudWatch mostrando falhas de escrita em disco ou erros de I/O
Ferramentas-chave que usei para identificar o problema:
df -h(mostra uso de espaço em disco em formato legível)du -sh /*edu -sh /var/*(encontra pastas grandes)- AWS EC2 Monitoring e alarmes do CloudWatch
- Logs de erro:
/var/log/syslog,/var/log/messages, logs do Apache/Nginx/MySQL
Dica profissional: Se você consegue fazer SSH e executar df -h, e vê / ou /dev/xvda1 em 100%, encontrou o problema!
Investigando mais fundo: Descobrindo a verdadeira causa raiz
Para mim, a história não terminou em "disco cheio." Eu precisava saber por quê. Aqui está o que descobri:
- Arquivos de backup: Backups antigos e automatizados se acumulavam em
/var/www/temp— mais de 14GB de arquivos .zip e .tgz, nenhum dos quais era mais necessário. - Cache e logs do WordPress: Alguns sites tinham pastas de cache inchadas e logs de erro enormes.
- Sem processo de limpeza: Não havia script ou política para remover arquivos antigos, então o mesmo ciclo se repetia a cada poucas semanas.
- Monitoramento esquecido: Eu não tinha configurado alertas de espaço em disco do AWS CloudWatch, então o problema atingiu "crítico" antes que eu percebesse.
Lição: Em um servidor multi-site, até poucos gigabytes de backups ou logs podem levar você a 100% de uso de disco rapidamente.
A solução: Como liberei espaço e parei os crashes
1. Identifique os consumidores de disco
Faça SSH na sua instância e descubra o que está consumindo espaço:
df -h
sudo du -h --max-depth=1 / | sort -hr | head -20
sudo du -h --max-depth=1 /var/www | sort -hr | head -20
2. Remova backups, logs e cache não utilizados
Limpe os grandes culpados. Para mim, esses comandos fizeram maravilhas:
sudo rm -rf /var/www/temp/*
sudo rm -rf /var/log/*.gz
sudo rm -rf /var/log/*.1
sudo journalctl --vacuum-time=3d
sudo rm -rf /tmp/*
3. Confirme o espaço livre
Sempre verifique novamente após a limpeza:
df -h
O uso do disco caiu instantaneamente de 100% para 72% — e o servidor voltou a ficar online.
4. Reinicie serviços se necessário
Às vezes Apache, Nginx ou MySQL precisam de um reinício para se recuperar:
sudo systemctl restart nginx
sudo systemctl restart apache2 # (se estiver usando Apache)
sudo systemctl restart mysql
5. Configure backups e limpeza automatizados
-
Snapshots semanais automatizados: Configurei o AWS Data Lifecycle Manager (DLM) para criar um snapshot EBS semanal (e excluir automaticamente os antigos).
-
Limpeza regular: Adicionei um cron job simples para deletar tudo em
/var/www/temptoda semana:0 3 * * 0 rm -rf /var/www/temp/* -
Alarmes do CloudWatch: Ativei alertas do CloudWatch para uso alto de disco — sem mais surpresas desagradáveis!
Como prevenir 100% de uso de disco em servidores WordPress na AWS
Se você roda WordPress (ou qualquer aplicação web) no AWS EC2, aqui está o que recomendo:
- Monitore tudo: Configure o CloudWatch para alertá-lo quando o uso de disco atingir 75%, 85% e 95%.
- Automatize backups — mas faça rotação: Use o AWS Lifecycle Manager para snapshots EBS e defina uma política de retenção. Mova backups de WordPress/banco de dados para S3 em vez de armazenar localmente.
- Automatize a limpeza: Use cron jobs ou scripts para limpar regularmente arquivos temporários, cache e logs.
- Escale se necessário: Se seus sites continuam ultrapassando o disco, considere um volume EBS maior ou separe backups/mídia no S3.
- Revise plugins e cache: Plugins de backup ou cache mal configurados podem encher discos rapidamente.
Conclusão: Do caos ao controle
Atingir 100% de uso de disco na AWS pode ser um pesadelo, mas não precisa derrubar seu negócio. Com algumas verificações inteligentes, limpezas e um pouco de automação, você pode ir de crashes constantes para total confiança. Meus blogs WordPress agora estão estáveis, com backup, e eu durmo melhor à noite sabendo que a AWS me apoia.
Já enfrentou problemas de disco no servidor ou quer compartilhar sua própria solução? Deixe um comentário ou pergunta abaixo — vamos nos ajudar mutuamente a manter nossos sites online!