===== 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