J'ai acheté une boîte NAS qui a une version coupée de Debian sur elle. P>
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%. P>
est-ce que quelqu'un est au courant d'un script qui le fera ou donnez-moi des conseils sur l'écriture? P>
4 Réponses :
#!/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
Ç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 $); } ' code>
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". P>
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 Voici une mise à jour de son script: p> Les modifications de touches sont modifiées df code > elle-même.
df -k code> sur
df -pk < / code> Pour éviter l'emballage de ligne et simplifié l'AWK pour utiliser le pourcentage pré-calculé au lieu de recalculer. p> p>
(Changement de pourcentage à 70% pour les tests)
Basé sur @erik Répondre, voici ma version avec des variables: et si vous ne disposez pas de la commande mail code> sur votre serveur, vous pouvez envoyer Email via SMPT avec
Swaks code>: p>
duplicailler possible de Y a-t-il un script shell pouvant surveiller la partition Utilisation?