Script de monitor de disco rígido para servidores Headless Linux

Jan 25, 2025
Manutenção e Otimização

Os discos rígidos modernos possuem um mecanismo interno denominado S.M.A.R.T. através do qual é possível saber quando um disco rígido está prestes a falhar. Não seria bom que o servidor lhe enviasse um e-mail antes de tal falha?

Visão geral

Programas como o “mdadm” (para gerenciamento de software RAID) e o “Palimpsest Disk Utility” (usado no Ubuntu LiveCD), usam as informações S.M.A.R.T para informá-lo quando o disco está prestes a ou falhou. No entanto, em um servidor sem interface com o usuário (sem GUI), não há serviço que irá informá-lo da destruição pendente antes que seja tarde demais. Além disso, como você saberia sobre isso sem fazer login manualmente no servidor?

Este script, quando executado uma vez por dia com o cron, alertará se a contagem de setores defeituosos de qualquer um dos discos rígidos do sistema atingiu um limite que é deliberadamente inferior ao limite de “o disco está defeituoso” e enviará por email o aviso ao administrador da máquina.

Pré-requisitos e premissas

  • Você já configurou o suporte por e-mail para o servidor usando o “ Como configurar alertas de e-mail no Linux " guia.
  • Você está usando um sistema baseado em Debian.
  • Você não está usando um * controlador RAID de hardware.
  • Você vai me ver usar o VIM como o programa de editor, isso é porque estou acostumado com isso ... você pode usar qualquer outro editor que desejar.

* Porque é muito possível que o controlador RAID de hardware bloqueie o acesso do sistema a essas informações.

Configuração

Instale o pacote “smartmontools” que lê as informações S.M.A.R.T do controlador do disco rígido e as apresenta para nós.

sudo aptitude install smartmontools

Crie o script do monitor:

sudo vim /root/smart-monitor.sh

Faça com que seja o conteúdo:

#! / Bin / Bash
######### Função de email ########
email_admin_func ()
{
echo "To: [email protected]"> $ temp_email_file
echo "From: [email protected]" >> $ temp_email_file
echo "Assunto: Limite de monitoramento S.M.A.R.T violado" >> $ temp_email_file
echo "" >> $ temp_email_file
echo -e $ 1 >> $ temp_email_file
/ usr / sbin / ssmtp -t <$ temp_email_file
echo "Enviou um e-mail para o administrador"
}

smartc_func ()
{
/ usr / sbin / smartctl -A / dev / $ 1 | grep Reallocated_Sector_Ct | tr -s '' | cut -d '' -f11
}

######### Fim das funções ########

######### Definir parâmetro de trabalho ########
temp_email_file = / tmp / smart_monitor.txt
allowed_threshold = 5 #defina a quantidade de setores defeituosos com os quais você deseja viver, recomendado 5.

########Motor########
para i em sda sdb; faça # Adicione ou subtraia nomes de disco desta lista conforme apropriado para sua configuração.
se [[ "`smartc_func $i`" -ge $allowed_threshold ]]; então
echo Enviando um e-mail ao administrador
email_admin_func "Um dos HDs em" `hostname`" atingiu o limite superior !!! nO limite foi definido como: $ allowed_threshold e o status do disco $ i era: "` smartc_func $ i` ""
estar
feito

Os pontos principais a serem observados são:

  • Função de e-mail - defina as informações apropriadas, como o nome da máquina e o e-mail do administrador.
  • Limite permitido - defina este parâmetro para o que achar apropriado, eu usei 5 porque o limite definido para discos rígidos de “nível de servidor” que usei foi 10. (encontrei o limite para unidades de “nível de consumidor” para pode chegar a 140).
  • Defina os dispositivos que deseja monitorar ajustando a enumeração dos nomes dos discos no loop “for”. Atualmente, dois discos (sda e sdb) estão incluídos, então ajuste para sua configuração. Você pode incluir todos os seus discos ou apenas alguns, se precisar * excluir um disco por algum motivo.

* na minha configuração original, o primeiro disco era uma unidade flash, portanto, ler suas informações, se possível, não é muito útil.

Torne o script executável:

sudo chmod +x /root/smart-monitor.sh

A configuração está concluída.

Programe o script para ser executado automaticamente

Queremos fazer o script rodar automaticamente, então criaremos um novo Cron job para ele.
Conforme declarado no “ Como configurar alertas de e-mail no Linux O resultado de fazer isso é que, se o próprio script encontrar um erro, o cron irá nos informar automaticamente por e-mail assim que isso acontecer.

Abra o programador do cron job:

sudo crontab -e

Adicione ao seu conteúdo:

0 7 * * * /root/smart-monitor.sh > /tmp/last_smart_monitor_run.log

Isso configurará o script para ser executado todas as manhãs às 7h.


Todos os seus setores são nossos :)

Raspberry Pi Box Hard Drive Scripts


Manutenção e Otimização - Artigos mais populares

Como organizar os favoritos do navegador da web

Manutenção e Otimização Jan 31, 2025

Sorrisos pequenos / Shutterstock.com. Os favoritos do navegador podem se tornar uma bagunça com o tempo. Você precisa de marcadores para centen..


Como cuidar dos eletrodomésticos da sua casa para que durem mais

Manutenção e Otimização Dec 3, 2024

Os eletrodomésticos grandes definitivamente não são baratos, mas podem durar muito tempo se você cuidar deles e realizar a manutenção adequada em intervalos regulares. ..


Como pesquisar na Internet a partir do menu Iniciar do Windows 7

Manutenção e Otimização Nov 3, 2024

CONTEÚDO NÃO CHEGADO O novo recurso de Pesquisa do Windows 7 melhorou muito para navegar em seu PC. Mas seria muito legal pesquisar na Internet a partir do menu Iniciar? Aqui nós mostram..


O que é o Visualizador de eventos do Windows e como posso usá-lo?

Manutenção e Otimização Nov 12, 2024

O Visualizador de Eventos do Windows mostra um log de mensagens do aplicativo e do sistema, incluindo erros, mensagens de informação e avisos. É uma ferramenta útil para solucio..


Como configurar e aplicar receitas IFTTT usando o aplicativo IF para iOS

Manutenção e Otimização Jul 6, 2025

Em nossa última iteração de cobertura do ecossistema de aplicativos “Se isso então aquilo”, vamos ajudá-lo a aprender como você pode usar o programa IF para aplicar regras..


Agende a otimização do Windows 7 Media Center para um melhor desempenho

Manutenção e Otimização Sep 17, 2025

O Windows 7 Media Center inclui um recurso de otimização que otimizará a mídia para funcionar com o WMC. O processo pode demorar muito se você tiver uma biblioteca grande e aqui vamos ve..


Pesquisar motores de busca alternativos na página de pesquisa do Bing

Manutenção e Otimização Jun 21, 2025

CONTEÚDO NÃO CHEGADO Você adora usar o Bing Search, mas ainda pode estar curioso para ver o que outro mecanismo de pesquisa fornecerá se usado. Agora você pode pesquisar usando outro m..


Mudar para o layout de teclado Dvorak no XP

Manutenção e Otimização May 27, 2025

Você deve ter considerado a suscetibilidade de seus pulsos ao túnel do carpo. Você pode estar tentando evitar que seus amigos e familiares invasores usem seu PC sem parecer que tem algo a ..


Categorias