clean_server.sh - Script para limpar o servidor
Publicado por lcnrj (última atualização em 08/01/2026)
[ Hits: 139 ]
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 /
Script Administração SquidFacil Ubuntu 11.10
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - RESUMO DE MSGS COM VIRUS
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
Habilitando clipboard manager no ambiente COSMIC
A compatibilidade do LibreOffice com o Microsoft Office
Colocando hotcorner no COSMIC para exibir "workspaces"
Quais licenças open source têm valor jurídico? (1)
Problema com som no laptop (2)









