clean_server.sh - Script para limpar o servidor
Publicado por lcnrj (última atualização em 08/01/2026)
[ Hits: 583 ]
Homepage: http://oldrockmustard.blogspot.com/
Um script Bash robusto para manutenção e liberação segura de espaço em disco em servidores Linux (Debian/Ubuntu), focado em ambientes de produção.
O script executa as seguintes operações sequenciais:
Limpeza do APT: Executa autoremove e clean para remover pacotes órfãos e cache de instaladores .deb.
Otimização do Journald: Reduz os logs do systemd mantendo apenas os últimos 2 dias ou limitando a 100MB (vacuum).
Rotação de Logs: Remove arquivos de log antigos rotacionados (*.gz, *.1) em /var/log, sem tocar nos arquivos de log ativos.
Limpeza de Cache Root: Remove thumbnails e caches temporários do usuário root.
Docker Prune (Opcional): Seção comentada para limpeza de imagens e containers parados (útil para servidores de build/deploy).
https://github.com/lcnjrj/clean_server.sh
#!/bin/bash
# ==============================================================================
# SCRIPT DE LIMPEZA SEGURA DE SERVIDOR LINUX
# Autor: Lu Faria (https://github.com/lcnjrj)
# License: MIT
# Descrição: Limpa caches apt, logs journald, kernels antigos e caches de usuário.
# ==============================================================================
# Cores para output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Verifica se é root
if [[ $EUID -ne 0 ]]; then
echo -e "${RED}Este script precisa ser executado como root.${NC}"
exit 1
fi
echo -e "${YELLOW}=== Iniciando Limpeza do Sistema ===${NC}"
echo "Espaço em disco ANTES da limpeza:"
df -h / | grep /
# 1. Limpeza do Gerenciador de Pacotes (APT)
echo -e "\n${YELLOW}[1/5] Limpando cache do APT e dependências órfãs...${NC}"
apt-get autoremove -y
apt-get autoclean -y
apt-get clean
echo -e "${GREEN}✓ APT limpo.${NC}"
# 2. Limpeza de Logs do Systemd (Journalctl)
# Mantém apenas os últimos 2 dias ou limita a 100MB
echo -e "\n${YELLOW}[2/5] Otimizando logs do Journald...${NC}"
journalctl --vacuum-time=2d
journalctl --vacuum-size=100M
echo -e "${GREEN}✓ Logs otimizados.${NC}"
# 3. Limpeza de Cache de Thumbnails e Cache de Usuário (Root)
echo -e "\n${YELLOW}[3/5] Limpando caches locais do root...${NC}"
rm -rf /root/.cache/thumbnails/*
rm -rf /root/.cache/pip/* # Se usar Python/Pip como root
echo -e "${GREEN}✓ Caches de root limpos.${NC}"
# 4. Rotação/Limpeza de Logs antigos em /var/log
# ATENÇÃO: Usamos 'truncate' em vez de 'rm' para não quebrar processos que estão escrevendo no arquivo
echo -e "\n${YELLOW}[4/5] Truncando logs antigos em /var/log (*.gz, *.1)...${NC}"
find /var/log -type f -regex ".*\.\(gz\|1\)$" -delete
echo -e "${GREEN}✓ Logs rotacionados antigos removidos.${NC}"
# 5. Docker (Opcional - mas essencial para Full Stack)
# Descomente as linhas abaixo se quiser limpar containers/imagens não utilizados
# echo -e "\n${YELLOW}[5/5] Limpando sistema Docker (Imagens/Containers parados)...${NC}"
# docker system prune -f
# echo -e "${GREEN}✓ Docker limpo.${NC}"
echo -e "\n${YELLOW}=== Limpeza Concluída ===${NC}"
echo "Espaço em disco DEPOIS da limpeza:"
df -h / | grep /
Copia arquivos distribuidos em pastas diferentes para uma única pasta.
SCRIPT PARA INSTALAÇÃO DE PROGRAMAS NO LINUX
Nenhum comentário foi encontrado.
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
Instalar Linux em notebook Sony Vaio VPCEG13EB (10)
Vou destruir sua infância:) (6)
Quando vocês pararam de testar distros? (24)









