clean_server.sh - Script para limpar o servidor

Publicado por lcnrj (última atualização em 08/01/2026)

[ Hits: 138 ]

Homepage: http://oldrockmustard.blogspot.com/

Download 7415.clean_server.sh




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

  



Esconder código-fonte

#!/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 /

Scripts recomendados

Script de Backup para FITA DAT usando "afio"

Download do banco de dados NCBI NR (DNA)

Backup diário das bases do MySQL

CBQ Script

Criação de Usuarios , Grupo e instalação do servidor de arquivos samba


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts