h1

Script bash para generar alarmas según la ocupación del disco

25/05/2009

En caso de necesitar monitorear discos recibiendo un correo electrónico si se alcanza un porcentaje de ocupación determinado, un workaround rápido puede ser este pequeño script, personalizándolo con los valores propios:

#!/bin/bash
#It is neccesary to install "sendEmail", not "sendmail"

MONITOR1=80 #First alarm (%)
MONITOR2=90 #Second alarm (%)
DISCO=`df -h | grep /dev/sda2 | cut -c 41-42` #Change /dev/sda2, use the disk you want to monitor.
GB=`df -h | grep /dev/sda2 | cut -c 35-38`

#If your smtp server needs authentication, add parameters "-xu USERNAME" and "-xp PASSWORD"

if [ $DISCO -ge $MONITOR2 ]
then
echo "Espacio critico en disco, superado $MONITOR2"
sendEmail -l /var/log/syslog -f direccionRemite@gmail.com -t direccionDestino@gmail.com -u "Espacio CRITICO en Shirley - /dev/sda1" -m "El disco de Shirley está al $DISCO%. Espacio libre de $GB" -s miServidorSMTP.com
logger "80% alcanzado"
else
if [ $DISCO -gt $MONITOR1 ]
then
echo "Espacio critico en disco, superado $MONITOR1"
sendEmail -l /var/log/syslog -f direccionRemite@gmail.com -t direccionDestino@gmail.com -u "Espacio CRÍTICO en Shirley - /dev/sda1" -m "El disco de Shirley está al $DISCO%. Espacio libre de $GB" -s miServidorSMTP.com
logger "____________90% alcanzado"____________
else
echo "Disco OK"
fi
fi

Una vez creado el script, es necesario darle permiso de ejecución:
chmod 700 /root/alarma.ocupacion.sda2.sh

E incluirlo en el cron con la periodicidad deseada:
root@shirley:~# crontab -e
# m h dom mon dow command
* 19 * * * /root/alarma.ocupacion.sda1.sh
* 22 * * * /root/alarma.ocupacion.sda1.sh
* 9 * * * /root/alarma.ocupacion.sda1.sh

Un comentario

  1. Avatar de ariel

    hola quisiera saber si pueden ayudarme con este script
    Practica Sistemas Operativos

    Se supone que en el fichero /home/fileSystemUse.log se guardan el nivel de uso critico de
    cada particion que sea de interes. Por ejemplo

    /dev/sda1 70%
    /dev/sda4 30%

    Realizar un script, fileSystemCriticalUse.sh que produzca un mensaje de alerta
    en caso de que alguna de las particiones registradas haya superado su porcentaje de uso
    crítico

    Ejemplo

    /dev/sda1 uso critico: 70% uso actual: 71%



Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.