Manutenção Preventiva em Servidores Linux: Rotação de Logs, Journalctl e Limpeza de Cache
Servidores Linux costumam funcionar por anos sem reclamar, até o dia em que o disco enche com logs, uma atualização de segurança não aplicada é explorada ou um serviço trava sem ninguém perceber. Uma rotina simples de manutenção preventiva evita a maioria desses problemas. Este guia reúne os cuidados essenciais para servidores Ubuntu, com comandos prontos.
1. Atualizações de segurança
Atualize os pacotes regularmente:
sudo apt update && sudo apt upgrade
Para aplicar correções de segurança automaticamente, ative o unattended-upgrades:
sudo apt install unattended-upgradessudo dpkg-reconfigure --priority=low unattended-upgrades
Algumas atualizações de kernel exigem reinicialização. Verifique se existe o arquivo /var/run/reboot-required e programe a reinicialização em horário de pouco uso.
2. Espaço em disco
Disco cheio derruba bancos de dados e serviços web. Verifique com:
df -h
Para descobrir o que está ocupando espaço:
sudo du -xh / --max-depth=2 2>/dev/null | sort -h | tail -20
Locais comuns: /var/log, /var/lib/docker, /var/cache/apt e backups antigos esquecidos.
3. Logs do journald
O systemd guarda logs no journal, que pode crescer bastante. Veja quanto ocupa:
journalctl --disk-usage
Para limpar, mantendo só as últimas duas semanas ou um tamanho máximo:
sudo journalctl --vacuum-time=2weekssudo journalctl --vacuum-size=500M
Para limitar de forma permanente, defina SystemMaxUse=500M em /etc/systemd/journald.conf e reinicie o serviço com sudo systemctl restart systemd-journald.
4. Rotação de logs de aplicações
Logs de aplicações (Nginx, Apache, sistemas próprios) são controlados pelo logrotate. Confira se os arquivos em /etc/logrotate.d/ cobrem todas as aplicações e definem rotação, compressão e quantidade de arquivos guardados. Um exemplo para uma aplicação própria:
/var/log/minhaapp/*.log {
daily
rotate 14
compress
missingok
notifempty
}
5. Cache de pacotes e kernels antigos
sudo apt autoremove --purgesudo apt clean
O primeiro remove pacotes e kernels antigos que não são mais necessários; o segundo limpa o cache de downloads do apt.
6. Docker
Em servidores com Docker, imagens e volumes antigos acumulam rapidamente:
docker system dfdocker system prune
Cuidado com docker system prune --volumes: ele apaga volumes não usados, que podem conter dados.
7. Serviços e falhas
- Liste serviços com falha:
systemctl --failed - Veja erros recentes:
journalctl -p err -b - Acompanhe memória e processos:
free -hehtop
8. Segurança básica
- Acesso SSH só com chave, com login por senha e de root desativados.
- Firewall ativo com ufw, liberando só as portas necessárias.
- fail2ban para bloquear tentativas repetidas de login.
- Usuários com o mínimo de permissões necessárias.
9. Backups e monitoramento
Faça backups automáticos para fora do servidor e teste a restauração. Veja backup de arquivos. Configure também um monitoramento externo simples que avise quando o site ou serviço sair do ar e alertas de disco acima de 80%.
Rotina sugerida
- Diária (automática): atualizações de segurança, backups e monitoramento.
- Semanal: verificar espaço em disco, serviços com falha e erros nos logs.
- Mensal: atualizações completas, limpeza de pacotes e Docker, revisão de usuários.
- Semestral: teste de restauração de backup.
Para a visão geral de manutenção, veja manutenção preventiva vs corretiva.
PruPru no Linux
A PruPru Digital Services oferece o script nativo PruPru.sh para diagnóstico e limpeza rápida em distribuições Linux.
Baixar PruPru.sh para Linux →Perguntas frequentes
Como limpar logs do journalctl com segurança?
Use sudo journalctl --vacuum-time=2weeks para manter só as duas últimas semanas, ou --vacuum-size=500M para limitar por tamanho. Para tornar o limite permanente, configure SystemMaxUse no journald.conf.
Atualizações automáticas podem quebrar o servidor?
O unattended-upgrades aplica, por padrão, apenas atualizações de segurança, que raramente causam problemas. Atualizações maiores devem ser feitas manualmente e com backup.
Com que frequência fazer manutenção no servidor?
Automatize atualizações de segurança, backups e alertas diariamente, revise disco e logs semanalmente e faça limpezas e revisões mais amplas uma vez por mês.