Use ‘df -h’ para verificar el % de espacio en disco restante de una carpeta específica

3 minutos de lectura

avatar de usuario
dinamicaJos

Estoy usando ‘df-h‘ comando para obtener detalles de espacio en disco en mi directorio y me da la respuesta a continuación:

ingrese la descripción de la imagen aquí

Ahora quiero poder hacer esta verificación automáticamente a través de un lote o secuencia de comandos, por lo que me pregunto si podré verificar el espacio en disco solo para carpetas específicas que me interesan, como se muestra en la imagen. Se supone que solo debo comprobar /nas/inicio que no supere el 75%.

Cómo puedo conseguir esto ? Alguna ayuda ?


Mi trabajo hasta ahora:

estoy usando

df -h > DiskData.txt

… esto genera un archivo de texto

grep "/nas/home" "DiskData.txt"

… lo que me da la salida:

*500G  254G  247G  51% /nas/home*

Ahora quiero poder buscar el número anterior o justo al lado del signo ‘%’ (51 en este caso) para lograr lo que quiero.

  • Sí, puedes hacer el cheque. Pero, ¿qué quieres hacer si es más del 75%? Puede escribir un script bash y ponerlo en crontab, para que pueda automatizar la verificación periódica

    – Alex Kapustin

    14 de agosto de 2017 a las 4:01

  • De hecho, quiero enviar un correo electrónico que indique que es más del 75%, pero a partir de ahora bastaría con un eco, verifique la pregunta actualizada

    – DynamicJos

    14 de agosto de 2017 a las 4:14


avatar de usuario
nagendra547

Este comando le dará un porcentaje del directorio /nas/home

df /nas/home | awk '{ print $4 }' | tail -n 1| cut -d'%' -f1

Entonces, básicamente, puede usar la tienda como valor en alguna variable y luego aplicar la condición si no.

var=`df /nas/home | awk '{ print $4 }' | tail -n 1| cut -d'%' -f1`
if(var>75){
#send email
}

  • df /nas/inicio | awk ‘{ imprimir $5 }’ | cola -n 1| cortar -d’%’ -f1 da – /nas/inicio no 51

    – DynamicJos

    14 de agosto de 2017 a las 4:40

  • ¿Puede proporcionar el resultado del siguiente comando ‘df /nas/home’?

    – nagendra547

    14 de agosto de 2017 a las 4:41


  • Sistema de archivos 1K-blocks Usado Disponible Use% Montado en d2cnas:/dev_home 524288000 266297856 257990144 51% /nas/home

    – DynamicJos

    14 de agosto de 2017 a las 4:45

  • lo anterior es la salida para df /nas/home

    – DynamicJos

    14 de agosto de 2017 a las 4:45

  • He actualizado mi solución. intente una vez ahora. use df /nas/home | awk ‘{ imprimir $4 }’ | cola -n 1| cortar -d’%’ -f1

    – nagendra547

    14 de agosto de 2017 a las 4:48


avatar de usuario
creer

otra variante:

df --output=pcent /nas/home | tail -n 1 | tr -d '[:space:]|%'

salida=porcentaje – muestra solo el valor porcentual (para coreutils => 8.21)

  • comparte tu salida pls

    – creer

    14 de agosto de 2017 a las 8:19

  • versión coreutils?

    – creer

    14 de agosto de 2017 a las 8:58

  • df: opción no reconocida ‘–output=pcent’ Pruebe `df –help’ para obtener más información.

    – DynamicJos

    14 de agosto de 2017 a las 10:32

  • tienes una versión coreutils inferior a 8.21 (puedes consultar con df --version)

    – creer

    14 de agosto de 2017 a las 10:35

Una forma más concisa sin tuberías extensas podría ser:

df -h /nas/home | perl -ane 'print substr $F[3],0,-1 if $.==2'

Devoluciones: 51 por tu ejemplo

¿Ha sido útil esta solución?