Muy buenas!!
Os dejo un par de scripts para monitorizar el espacio en disco.
Hay dos versiones, una para chequear un solo filesystem y otro, para chequear el espacio de todos los filesystems de nuestra máquina.
Sistema Operativo en el que se han probado los scripts –> CentOS / RHEL 7.7
Paquetes que seguramente necesitaréis instalar –> mailx ( yum -y install mailx)
Os dejo también un enlace al proyecto en mi perfil de GitHub:
https://github.com/miguelcarretas/check-filesystems-space
Check de un solo filesystem (space.sh):
#!/bin/bash
# Sistemas de ficheros a chequear
device=/mnt/dir1/subdir1
# Destinatario del correo
destinatario="[email protected]"
####### Cuerpo del script ########
# Consultamos la ocupación del dispositivo
ocupacion=$(df -h | grep $device$ | expand | tr -s " " | cut -d " " -f5 | cut -d "%" -f1)
# Si la ocupación es mayor al 85%…
if [ $ocupacion -ge 85 ];
then
# Preparación y envío del correo
df -h > storage.txt
asunto=$(echo "Alerta de espacio en " `hostname` " – " $device)
mailx -S from="[email protected]" -s "$asunto" $destinatario < storage.txt
fi
# 5 * * * * root sh /root/scripts/space.sh >/dev/null 2>&1
Check para todos los filesystems del sistema (space_v2.sh):
#!/bin/bash
# Destinatario del correo
destinatario="[email protected]"
####### Cuerpo del script ########
df -h | awk '{print $6}' | egrep -v "Montado" > /tmp/filesystems.list
while read line
do
# Consultamos la ocupación del dispositivo
ocupacion=`df -h | grep $line$ | awk '{print $5}' | cut -d"%" -f1`
# Si la ocupación es mayor a un valor en %…
if [ $ocupacion -ge 80 ];
then
# Preparación y envío del correo
df -h | grep $line$ > storage.txt
asunto=$(echo "Alerta de espacio en " `hostname` " – " $line)
mailx -S from="[email protected]" -s "$asunto" $destinatario < storage.txt
fi
done < /tmp/filesystems.list
# 5 * * * * root sh /root/scripts/space_v2.sh >/dev/null 2>&1
Es importante que si queréis automatizar el chequeo, creéis una tarea programada bajo /etc/cron.d/ y reiniciéis el servicio de crond (systemctl restart crond) .
En los scripts, en la última línea comentada, tenéis un ejemplo.
Espero que os sea de utilidad.
Un saludo Sysadmins! 🙂