===== Configuración simple de smartd con envío de alertas a consola, escritorio y Gmail =====
Configuración básica del demonio smartd para que avise en terminal, escritorio (GTK / KDE) y correo electrónico Gmail (usando curl) si hay alguna falla o subida de temperatura en el disco.
**Configuración para smartd**: ///etc/smartd.conf//
DEVICESCAN -a -o on -S on -n standby,q -s (S/../.././20|L/../../6/21) -W 3,30,31 -m usuario@gmail.com -M exec /usr/bin/smartdnotify
* **DEVICESCAN** Exploración smartd de los discos.
* **-a** Vigila todos los atributos smart.
* **-o** Habilitar la recogida automática de datos en línea.
* **-S** Habilita el atributo de autoguardado automático.
* **-n standby**,**q** No comprueba nada si el disco está en modo de espera (standby).
* **-s** Define cuando realizar exámenes largos y cortos.
* **-W** Monitoriza la Temperatura.
* **-m** Notificaciones por correo / usuario del sistema.
* **-M** Configurar notificaciones (inutiliza lo definido en "-m", pero no funciona sin ella).
El demonio smartd con la opción **-W** hace un seguimiento de las temperaturas del disco y alerta si se elevan demasiado rápido o llega a un límite determinado. Para el ejemplo, el servicio avisa y registra cuando se produzcan cambios de temperatura de 3 o más grados o cuando algún disco alcance 30 grados. A partir de 31 grados además de registrarlo envía la alerta por correos electrónico (-m).
Con la opción "**-s**" smartd puede definir el momento (día y hora) de hacer las pruebas automáticas. la configuración del ejemplo especifica un test corto todos los días entre las 20-21 de la noche y uno largo los sábados entre las 21-22.
Para poder enviar correos utilizando una cuenta Gmail y sin usar nada más que curl, debemos crear el fichero ///usr/bin/smartdnotify//.
#! /bin/sh
echo "From: SMARTD
To: usuario@gmail.com
Date: $date
Subject: S.M.A.R.T
" > /tmp/smartdmail
echo "$SMARTD_MESSAGE" >> /tmp/smartdmail
curl --url "smtps://smtp.gmail.com:465" --ssl-reqd --mail-from "usuario@gmail.com" --mail-rcpt "usuario@gmail.com" --upload-file /tmp/smartdmail --user "usuario:PASSWORD" > /dev/null 2>&1 &
rm /tmp/smartdmail
# Notify user
wall "$SMARTD_MESSAGE"
# Si se dispone de zenity (GTK) o Kdialog se puede usar el siguiente comando para notificaciones de escritorio. (ej. privilegios del usuario "busi").
#export DISPLAY=:0.0
#export XAUTHORITY=/home/busi/.Xauthority
# Zenity
# su busi -c 'zenity --warning --text "$SMARTD_MESSAGE" --display=:0.0'
# Si se dispone de Kdialog se puede usar el siguiente comando para notificaciones de escritorio.
# su busi -c 'kdialog --sorry "$SMARTD_MESSAGE"'
A cada alerta producida se ejecutará el script smartdnotify, enviando un mail con curl y mostrando en todas las terminales del sistema la alerta.
Ejemplo de notificación SMART en consola.
Mensaje de difusión general (broadcast) de busi@busiarch (pts/0) (Mon Apr 6 0
Device: /dev/sdc [SAT], Temperature 32 Celsius reached critical limit of 21 Celsius (Min/Max ??/32)
**Administración del demonio smartd en Arch GNU/Linux**.
# Iniciar el demonio.
systemctl start smartd
# Comprobar el estado del demonio smartd.
systemctl status smartd
# Inicio automático de smartd en el arranque del sistema.
systemctl enable smartd
# Leer logs de smartd en Arch.
journalctl -u smartd