Script que avisa del espacio libre en el disco.
El script que hoy te presento, nos enviara un mail diciéndonos el espacio libre en el disco o cualquier otro sistema de almacenamiento que usemos.
Puede parecer un tema un tanto baladí, pero te equivocas… no lo es. Es de suma importancia para cualquier Sysadmin estar informado del espacio disponible en sus sistemas de almacenamiento.
Un ejemplo común… un servidor exclusivo de backups, los usuarios van aumentando y los baks también, por lo tanto debes estar al corriente del espacio de ese servidor.
Lo que haremos es crear un script bash, que mediante una tarea cron nos avisara si hemos rebasado el umbral definido de espacio libre en nuestro disco o discos.
Vemos dos ejemplos de script bash:
- Script que avisa con 25% libre.
- Script que avisa con 10% libre.
Script que avisa con 25% libre
Desde la consola:
Creamos el archivo *.sh.
nano free_disk25.sh
Copia y pega en el archivo lo siguiente (donde «mail@mimail.es», pon tu correo electrónico).
#!/bin/bash used=`df -h | grep sda1 | awk {'print $5'}` used=${used/\%/} if [ $used -gt 75 ]; then echo "WARNING! Espacio disponible menos del 25%. El espacio utilizado = $used"% | mail -s "DISK ALERT" mail@mimail.es fi
Guarda y cierra el editor.
Le damos permisos…
chmod +x free_disk25.sh
Lo puedes ejecutar con la secuencia siguiente…
bash free_disk25.sh
Pero lo ideal es que lo ejecutes como una tarea cron, por ejemplo (generadores online de tareas cron):
* */12 * * * ((aquí la ruta))./free_disk25.sh >/dev/null 2>&1
Con la tarea que hemos establecido, el script se ejecutara cada 12h, todos los días de la semana de todos los meses.
Script que avisa con 10% libre
Desde la consola:
Creamos el archivo *.sh.
nano free_disk10.sh
Copia y pega en el archivo lo siguiente (donde «mail@mimail.es», pon tu correo electrónico).
#!/bin/bash used=`df -h | grep sda1 | awk {'print $5'}` used=${used/\%/} if [ $used -gt 90 ]; then echo "WARNING! Espacio disponible menos del 10%. El espacio utilizado = $used"% | mail -s "DISK ALERT" mail@mimail.es fi
Guarda y cierra el editor.
Le damos permisos…
chmod +x free_disk10.sh
Lo puedes ejecutar con la secuencia siguiente…
bash free_disk10.sh
La tarea cron aconsejada, es igual que en el ejemplo anterior.
Espero te resulte útil 🙂
Excelente articulo muy informativo a la vez nos ayuda a evitar esos momentos en que no hay espacio.
Me pordrias dar una mano?
#!/bin/bash
used=`df -h | grep sda1 | awk {‘print $5’}`
used=${used/\%/}
if [ $used -gt 75 ];
then
echo «WARNING! Espacio disponible menos del 25%. El espacio utilizado = $used»% | mail -s «DISK ALERT» xxxxxxxxxx@gmail.com
fi
Asi me da el error: Error sintáctico: no se esperaba el final del fichero
Probe agregandole esto y tampoco:
Unix/Linux
exit