Script de limpeza, atualização e verificação de erros no Debian

Publicado por Ricardo Lisboa (última atualização em 11/01/2026)

[ Hits: 83 ]

Download debian-clean-and-diagnose.sh




Esse script, criado com a ajuda do Gemini, permite fazer limpeza, atualização e diagnóstico no Debian 13.  Resolvi criar após erros e travamentos no meu sistema, devido à instalação de programas.  Ele detectou tudo que estava com problemas e, submetendo o relatório ao Gemini, consegui resolver.

  



Esconder código-fonte

#!/bin/bash

# ==============================================================================
# AVISO SOBRE O HISTÓRICO DE LOGS:
# Este script utiliza 'journalctl --vacuum-time=1s' ao final da execução.
# Isso remove todos os logs anteriores para garantir que relatórios futuros 
# mostrem apenas erros novos. Se o sistema sofrer um erro crítico ou travar, 
# analise os logs ANTES de rodar este script, pois o histórico será apagado.
# ==============================================================================

# 1. Detecta o usuário real (mesmo se rodar com sudo) e define o diretório
REAL_USER=${SUDO_USER:-$USER}
REAL_HOME=$(getent passwd "$REAL_USER" | cut -d: -f6)
DIRETORIO_REPORTS="$REAL_HOME/Reports"

# 2. Cria a pasta com as permissões corretas para o seu usuário
sudo install -d -o "$REAL_USER" -g "$REAL_USER" "$DIRETORIO_REPORTS"

# 3. Define o nome do arquivo
ARQUIVO_LOG="$DIRETORIO_REPORTS/Relatorio_Manutencao_$(date +%Y%m%d_%H%M%S).txt"

# Inicia o bloco de captura (Tudo aqui dentro vai para o arquivo e para a tela)
{
    echo "====================================================="
    echo "   MANUTENÇÃO, ATUALIZAÇÃO E ANÁLISE"
    echo "   Data: $(date)"
    echo "   Usuário: $REAL_USER"
    echo "====================================================="

    # --- PARTE 1: ATUALIZAÇÃO E MANUTENÇÃO ---
    printf "\n%s* 1. Atualizando o sistema...%s\n" "$B" "$N"
    sudo apt update -y 2>/dev/null && sudo apt full-upgrade -y 2>/dev/null

    if dpkg -s flatpak >/dev/null 2>&1; then
        printf "\n%s- Atualizando e limpando flatpaks...%s\n" "$B" "$N"
        flatpak update -y
        flatpak uninstall --unused -y
    fi

    printf "\n%s* 2. Limpeza de pacotes e cache...%s\n" "$B" "$N"
    sudo apt purge --autoremove -y 2>/dev/null
    sudo apt autoclean -y 2>/dev/null
    sudo apt clean 2>/dev/null
    
    printf "\n%s* Executando o TRIM...%s\n" "$B" "$N"
    fstrim -v /

    # --- PARTE 2: ANÁLISE DE SAÚDE ---
    echo -e "\n====================================================="
    echo "   DIAGNÓSTICO DE ERROS (PÓS-MANUTENÇÃO)"
    echo "====================================================="

    echo -e "\n[1/4] Verificando integridade de pacotes..."
    sudo dpkg --configure -a
    sudo apt-get check 2>/dev/null || echo "ERRO: Problemas nas dependências encontrados."

    echo -e "\n[2/4] Erros críticos no log (Última sessão):"
    sudo journalctl -p 3 -b --no-pager

    echo -e "\n[3/4] Alertas do Kernel (Hardware/Drivers):"
    sudo dmesg -T --level=err,crit,alert | tail -n 10

    echo -e "\n[4/4] Top 5 Processos (CPU):"
    ps aux --sort=-%cpu | head -n 6

    echo -e "\n====================================================="
    echo "   LIMPANDO HISTÓRICO DE LOGS (Journal Vacuum)"
    echo "====================================================="
    sudo journalctl --vacuum-time=1s
    
    echo -e "\nFIM DO PROCESSO: $(date +%H:%M:%S)"
    echo "AVISO: O histórico de logs foi resetado para garantir relatórios limpos."

} | tee "$ARQUIVO_LOG"

# Ajusta permissão para o usuário real (Ricardo)
sudo chown "$REAL_USER":"$REAL_USER" "$ARQUIVO_LOG"

printf "\n%s* Concluído! Relatório salvo em: %s%s\n" "$B" "$ARQUIVO_LOG" "$N"
printf "%s* NOTA:%s Histórico de logs limpo para a próxima análise.\n\n" "$B" "$N"

Scripts recomendados

SlackAcc

cpufreq-selector em Dialog - Centrino frequencia

Atualizando o sistema no Debian

Fax Control

Relógio Simples no Shell


  

Comentários
[1] Comentário enviado por xerxeslins em 11/01/2026 - 21:39h

Curti! Valeu!





Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts