8
votes

Utilisation du disque Bash Monitor

J'ai acheté une boîte NAS qui a une version coupée de Debian sur elle.

Il a manqué d'espace l'autre jour et je ne me suis pas réalisé. Je veux fondamentalement écrire un script Bash qui vous alertera chaque fois que le disque atteint plus de 90%.

est-ce que quelqu'un est au courant d'un script qui le fera ou donnez-moi des conseils sur l'écriture?


4 Réponses :


10
votes
#!/bin/bash
source /etc/profile

# Devices to check
devnames="/dev/sdb1 /dev/sda1"

for devname in $devnames
do
  let p=`df -k $devname | grep -v ^File | awk '{printf ("%i",$3*100 / $2); }'`
  if [ $p -ge 90 ]
  then
    df -h $devname | mail -s "$devname is low on space" my@email.com
  fi
done

5 commentaires

Ça marche. Comment serait-il fait pour plusieurs disques? Si ça ne te dérange pas :)


Excellent fonctionne comme un charme. Je vais déterminer comment faire vérifier automatiquement les appareils. Merci!!


Lorsque vous avez de longs noms de périphérique, il est utile d'utiliser «DF -PK» qui effondra la sortie jusqu'à une ligne, sinon vous obtenez un bogue dans cette


Erik, a créé des mises à jour - n'hésitez pas à vous intégrer à votre réponse et à la mine de suppression malade


Éviter Grep: DF -K $ DevName | awk 'nr> 1 {printf ("% i", 5 $); } '



0
votes

Vous pouvez également utiliser Monit pour ce type de travail. C'est un "utilitaire libre open source pour la gestion et la surveillance, les processus, les programmes, les fichiers, les répertoires et les systèmes de fichiers sur un système UNIX".


0 commentaires

7
votes

J'ai essayé d'utiliser la réponse d'Erik, mais j'ai eu des problèmes avec des périphériques ayant de longs noms qui enveloppent les chiffres et que les causes échouent, ainsi que les mathématiques me semblaient mal et ne correspondaient pas aux pourcentages rapportés par df elle-même.

Voici une mise à jour de son script: xxx

Les modifications de touches sont modifiées df -k sur df -pk < / code> Pour éviter l'emballage de ligne et simplifié l'AWK pour utiliser le pourcentage pré-calculé au lieu de recalculer.


1 commentaires

(Changement de pourcentage à 70% pour les tests)



0
votes

Basé sur @erik Répondre, voici ma version avec des variables: xxx

et si vous ne disposez pas de la commande mail sur votre serveur, vous pouvez envoyer Email via SMPT avec Swaks : xxx


0 commentaires