LINUX

Script de Shell para monitorear el uso del espacio en disco

más scripts de shellEs una tarea muy importante monitorear el uso del espacio en disco en cualquier sistema. Si no se monitorea adecuadamente, puede terminar con un rendimiento deficiente o un bloqueo de la aplicación.

En este tutorial, le mostraré un script de shell simple que verifica el espacio usado en todos los dispositivos montados y advierte si el espacio usado es más que un umbral.

Espacio en disco de Shell Script Monitor

A continuación, el script de shell muestra el porcentaje de espacio en disco utilizado.

#!/bin/bash

threshold="20"

i=2

result=`df -kh |grep -v "Filesystem" | awk '{ print $5 }' | sed 's/%//g'`

for percent in $result; do

if ((percent > threshold))
then

partition=`df -kh | head -$i | tail -1| awk '{print $1}'`

echo "$partition at $(hostname -f) is ${percent}% full"

fi

let i=$i+1

done

Resultado de la secuencia de comandos

bobbin@linoxide:/$ df -kh
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 52G 4.7G 45G 10% /
tmpfs 1.9G 0 1.9G 0% /lib/init/rw
udev 1.9G 192K 1.9G 1% /dev
tmpfs 1.9G 2.6M 1.9G 1% /dev/shm
/dev/sda6 92G 22G 66G 25% /home
bobbin@linoxide:/$ ./df_script.sh
/dev/sda6 at linoxide.lviv.example.com is 25% full

Cómo funciona este script de shell

#Este valor de umbral establecido

umbral = ”20 ″

#Counter, se usará más tarde, establecido en 2, ya que la primera línea en la salida df es description.

i = 2

# Obteniendo la lista de porcentaje de todos los discos, df -kh muestra todo el uso del disco, grep -v – sin línea descriptiva, awk ‘{print $ 5}’ – solo necesitamos el quinto valor de la línea y sed ‘s /% // g’ – para eliminar% del resultado.

resultado = `df -kh | grep -v“ Sistema de archivos ”| awk ‘{imprimir $ 5}’ | sed ‘s /% // g’`

#Para cada valor en el resultado, iniciamos el ciclo.

por porcentaje en $ resultado; hacer

#compare, si el valor actual es mayor que el umbral, en caso afirmativo, las siguientes líneas.

si ((porcentaje> umbral))

entonces

# tomando el nombre de la partición, aquí usamos contador. Df lista de todas las particiones, head – toma solo $ i líneas desde la parte superior, tail -1 toma solo la última línea, awk ‘{print $ 1}’ – toma solo el primer valor de la línea.

partición = `df -kh | cabeza – $ i | cola -1 | awk ‘{imprimir $ 1}’ `

#print to console: qué partición y cuánto se usó en%.

echo «$ partición en $ (nombre de host -f) está $ {percent}% llena»

# fin del bucle if

fi

#contador aumentado en 1.

sea ​​i = $ i + 1

# fin del bucle for.

hecho

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar