Lo que debemos hacer es crearnos un script .sh como este al que he denominado vigilaespacio.sh:
#!/bin/bash
ADMIN="admindelssistema@midominio.com"
# Nivel de alarma al 85%
ALERTA=85
df -g | grep -vE '^Filesystem|tmpfs' | awk '{ print $4 " " $1 }' | while read output;
do
usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 )
partition=$(echo $output | awk '{ print $2 }' )
# -ge es mayor o igual a
if [ "$usep" -ge "$ALERTA" ]; then
echo "Poco espacio en '$partition ($usep%)' del servidor $(hostname) en el dia $(date)" >> alerta-disco-$(date +%d-%m-%y_%T)-$ALERT.txt
cat alerta-disco-$(date +%d-%m-%y_%T)-$ALERTA.txt | mail -s "Filesystem llenandose. Tengo una alerta de poco espacio en disco del servidor $(hostname)" $ADMIN
fi
done
Le damos permisos para ejecurse 777 o 755 el que prefieras y agregamos una línea en el crontab que lo invoque cada x tiempo, por ejemplo esta línea lo llama cada hora, todos los días:
00 * * * * /scripts/vigilaespacio.sh
Básicamente lo que hace el script es chequear nuestro filesystem y capturar (para mi sistema) la columna número 4 (%Used) de la instrucción df -g (por ser AIX, si tu sistema es Linux o Solaris debes cambiar df -g por df -h; lo he marcado en rojo para que lo tengas en cuenta).
Si se cumple la condición de la variable ALERTA se envia un correo a los destinatarios indicando el % y el filesystem implicado.
#!/bin/bash
ADMIN="admindelssistema@midominio.com"
# Nivel de alarma al 85%
ALERTA=85
df -g | grep -vE '^Filesystem|tmpfs' | awk '{ print $4 " " $1 }' | while read output;
do
usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 )
partition=$(echo $output | awk '{ print $2 }' )
# -ge es mayor o igual a
if [ "$usep" -ge "$ALERTA" ]; then
echo "Poco espacio en '$partition ($usep%)' del servidor $(hostname) en el dia $(date)" >> alerta-disco-$(date +%d-%m-%y_%T)-$ALERT.txt
cat alerta-disco-$(date +%d-%m-%y_%T)-$ALERTA.txt | mail -s "Filesystem llenandose. Tengo una alerta de poco espacio en disco del servidor $(hostname)" $ADMIN
fi
done
Le damos permisos para ejecurse 777 o 755 el que prefieras y agregamos una línea en el crontab que lo invoque cada x tiempo, por ejemplo esta línea lo llama cada hora, todos los días:
00 * * * * /scripts/vigilaespacio.sh
Básicamente lo que hace el script es chequear nuestro filesystem y capturar (para mi sistema) la columna número 4 (%Used) de la instrucción df -g (por ser AIX, si tu sistema es Linux o Solaris debes cambiar df -g por df -h; lo he marcado en rojo para que lo tengas en cuenta).
Si se cumple la condición de la variable ALERTA se envia un correo a los destinatarios indicando el % y el filesystem implicado.
Comentarios