Script de monitorización de disco duro para servidores Linux sin cabeza

Jan 25, 2025
Mantenimiento y Optimización

Los discos duros modernos tienen un mecanismo interno llamado S.M.A.R.T. a través del cual es posible saber cuando un disco duro está a punto de fallar. ¿No sería bueno que el servidor le enviara un correo electrónico antes de tal falla?

Visión de conjunto

Programas como “mdadm” (para la administración de RAID por software) y la “Utilidad de disco Palimpsest” (utilizada en Ubuntu LiveCD), usan la información S.M.A.R.T para informarle cuando el disco está a punto de fallar o ha fallado. Sin embargo, en un servidor sin cabeza (sin GUI) no hay ningún servicio que le informe de la perdición pendiente antes de que sea demasiado tarde. Además, ¿cómo lo sabría sin iniciar sesión manualmente en el servidor?

Este script, cuando se ejecuta una vez al día con cron, alertará si alguno de los sectores defectuosos de los discos duros del sistema ha alcanzado un límite que es deliberadamente más bajo que el umbral de "el disco está defectuoso" y enviará la advertencia por correo electrónico al administrador de la máquina.

Requisitos previos y supuestos

  • Ya ha configurado la asistencia por correo electrónico para el servidor mediante el " Cómo configurar alertas de correo electrónico en Linux ”Guía.
  • Estás usando un sistema basado en Debian.
  • No está utilizando un * controlador RAID de hardware.
  • Verá que uso VIM como programa editor, esto es solo porque estoy acostumbrado ... puede usar cualquier otro editor que desee.

* Porque es muy posible que el controlador RAID de hardware bloquee el acceso del sistema a esta información.

Preparar

Instale el paquete “smartmontools” que lee la información S.M.A.R.T del controlador del disco duro y nos la presenta.

sudo aptitude install smartmontools

Cree el script del monitor:

sudo vim /root/smart-monitor.sh

Haga de esto su contenido:

#! / Bin / Bash
######## Función de correo electrónico ########
email_admin_func ()
{
echo "Para: [email protected]"> $ temp_email_file
echo "From: [email protected]" >> $ temp_email_file
echo "Asunto: Umbral del monitor 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 "Envió un correo electrónico al administrador"
}

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

######## Fin de funciones ########

######## Establecer parámetro de trabajo ########
temp_email_file = / tmp / smart_monitor.txt
allow_threshold = 5 # establezca la cantidad de sectores defectuosos con los que está dispuesto a vivir, recomendado 5.

########Motor########
para yo en sda sdb; do # Agregue o reste nombres de disco de esta lista según corresponda para su configuración.
si [[ "`smartc_func $i`" -ge $allowed_threshold ]]; luego
echo Enviar un correo electrónico al administrador
email_admin_func "¡Uno de los discos duros en" `hostname`", ha alcanzado el límite superior del umbral !!! nEl umbral se estableció en: $ allowed_threshold y el estado del disco $ i era: "` smartc_func $ i` ""
ser
hecho

Los puntos clave a tener en cuenta son:

  • Función de correo electrónico: configure la información adecuada, como el nombre de la máquina y el correo electrónico del administrador.
  • Umbral permitido: establezca este parámetro en lo que crea que es apropiado. He usado 5 porque el límite establecido para los discos duros de "calidad de servidor" que usé fue de 10. (He encontrado el umbral para las unidades de "grado de consumidor" a ser tan alto como 140).
  • Configure los dispositivos que desea monitorear ajustando la enumeración de nombres de disco en el ciclo "for". Actualmente se incluyen dos discos (sda y sdb), así que ajústelos a su configuración. Puede incluir todos sus discos o solo algunos, si necesita * excluir un disco por alguna razón.

* en mi configuración original, el primer disco era una unidad flash, por lo que leer su información, si es posible, no es de mucha utilidad.

Haga que el script sea ejecutable:

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

La configuración está lista.

Programe el script para que se ejecute automáticamente

Queremos que el script se ejecute automáticamente, por lo que crearemos un nuevo trabajo Cron para él.
Como se indica en el " Cómo configurar alertas de correo electrónico en Linux ”Guiar el resultado de hacerlo, es que si el script en sí encuentra un error, cron nos informará automáticamente por correo electrónico tan pronto como suceda.

Abra el programador de trabajos cron:

sudo crontab -e

Agregue esto a su contenido:

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

Esto configurará el script para que se ejecute todas las mañanas a las 7 a. M.


Todo tu sector nos pertenece :)

Raspberry Pi Box Hard Drive Scripts


Mantenimiento y Optimización - Artículos más populares

¿Qué es la carpeta Windows.old y cómo se elimina?

Mantenimiento y Optimización Jul 3, 2025

¿Has actualizado desde una versión anterior de Windows? Tiene una carpeta Windows.old en su computadora y está ocupando una gran cantidad de espacio. Puede eliminarlo, pero es di..


¿Qué es hiberfil.sys y cómo lo elimino?

Mantenimiento y Optimización Jul 3, 2025

CONTENIDO NO CUBIERTO Es probable que esté leyendo esto porque notó un archivo hiberfil.sys gigantesco en la unidad de su sistema y se pregunta si puede deshacerse de él para l..


Cómo actualizar manualmente su Kindle

Mantenimiento y Optimización Jul 14, 2025

Si desea las últimas funciones de Kindle en este momento (o se perdió una actualización anterior), la mejor manera de obtener una actualización inmediata para su Kindle es hacer..


Cómo controlar la configuración del sistema con Siri en macOS Sierra

Mantenimiento y Optimización Jun 20, 2025

CONTENIDO NO CUBIERTO La inclusión de Siri en macOS Sierra significa que ahora puede hacer todo tipo de cosas con su voz que antes requerían escribir y hacer clic. I..


Cómo recuperar barras de desplazamiento siempre activas en Mac OS X

Mantenimiento y Optimización Sep 21, 2025

Si eres nuevo en Mac, es posible que hayas notado que no hay barras de desplazamiento en las ventanas del Finder, páginas web, etc. Puede ser difícil (y molesto) acostumbrarse a e..


Cómo ahorrar ancho de banda reduciendo la calidad de imagen de iMessage

Mantenimiento y Optimización Sep 16, 2025

CONTENIDO NO CUBIERTO Las imágenes que envía en iMessage pueden consumir un precioso ancho de banda y espacio en su teléfono. Sin embargo, iOS 10 ahora proporciona una forma de..


Cómo configurar tiempos de silencio automáticos en Android con No molestar

Mantenimiento y Optimización Jul 7, 2025

Modo no molestar en Android puede ser útil si estás en una reunión, en una película o en cualquier otro lugar donde tu teléfono no deba ser una distracción por un ..


Acceda a varios navegadores desde Firefox con Browser View Plus

Mantenimiento y Optimización Jul 8, 2025

CONTENIDO NO CUBIERTO ¿Está frustrado por tener que pegar enlaces en otros navegadores para ver una página web? Ahora puede abrir esas páginas web en un navegador de su elección con un..


Categorías