J'utilise la commande ' df -h ' pour obtenir les détails de l'espace disque dans mon répertoire et elle me donne la réponse ci-dessous:

enter image description here

Maintenant, je veux pouvoir faire cette vérification automatiquement via un lot ou un script - je me demande donc si je ne pourrai vérifier l'espace disque que pour des dossiers spécifiques qui me tiennent à cœur, comme indiqué dans l'image - je suis seulement censé vérifiez que / nas / home ne dépasse pas 75%.

Comment puis-je atteindre cet objectif ? De l'aide ?


Mon travail jusqu'à présent:

J'utilise

df -h > DiskData.txt

... cela sort dans un fichier texte

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

... ce qui me donne le résultat:

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

Maintenant, je veux pouvoir rechercher le numéro précédent ou juste à côté du signe '%' (51 dans ce cas) pour obtenir ce que je veux.

1
dynamicJos 14 août 2017 à 06:53

2 réponses

Meilleure réponse

Cette commande vous donnera le pourcentage du répertoire / nas / home

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

Donc, fondamentalement, vous pouvez utiliser store comme valeur dans une variable, puis appliquer la condition if else.

var=`df /nas/home | awk '{ print $4 }' | tail -n 1| cut -d'%' -f1`
if(var>75){
#send email
}
4
nagendra547 14 août 2017 à 04:48

Une manière plus concise sans tuyauterie étendue pourrait être:

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

Renvoie: 51 pour votre exemple.

1
reflective_mind 14 août 2017 à 07:06