Last active
August 29, 2015 14:23
-
-
Save Heolink/1f76d11f4556752e5ebf to your computer and use it in GitHub Desktop.
HDD Probe
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Pour rendre le fichier executable | |
# chmod +x hddProb.sh | |
# | |
# cron toute les 30 minutes avec pour limite d'usage 60 par défaut si non définit c'est à 90% | |
# crontab -e */30 * * * * /chemindemonscript/hddProb.sh -l=60 | |
# | |
#le hostname de la machine | |
hostname=`hostname` | |
#l'ip de la machine | |
ip=`hostname --ip-address` | |
# | |
# Paramétre par défaut si aucune option | |
# | |
#liste des emails qui vont recevoir l'alerte ([email protected] [email protected]) | |
emails=([email protected]) | |
#la limite de remplissage du disque si elle n'est pas définit en paramétre | |
percentageLimit=90 | |
#on récupére le pourcentage utilisé sur le disque | |
currentPercentage=`df / | awk '{ print $5 }' | tail -n 1` | |
#on supprime le % du résultat optenu avec la commande précédente | |
currentPercentage=${currentPercentage//%} | |
#sujet du mail | |
subject="Attention manque de place sur ${hostname} : ${ip}" | |
#message du mail | |
message="Il ne reste que ${currentPercentage}% sur ${hostname} avec pour IP: ${ip}" | |
#définit la limit et les emails via les options -l=90 -e="[email protected] [email protected]" | |
for i in "$@" | |
do | |
case $i in | |
-l=*|--limit=*) | |
percentageLimit="${i#*=}" | |
shift # past argument=value | |
;; | |
-e=*|--emails=*) | |
emails=("${i#*=}") | |
shift # past argument=value | |
;; | |
esac | |
done | |
#si le pourcentage et >= à la limite on envoie un email | |
if [[ "$currentPercentage" -ge "$percentageLimit" ]]; then | |
#on boucle sur tout les emails du tableau pour envoyer l'email | |
for email in ${emails[*]} | |
do | |
echo "Send email : ${email}" | |
#on envoie l'email | |
mail -s "${subject}" "${email}" <<< "${message}" | |
done | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
A mettre dans un cron pour envoyer un email quand le disque dur dépasse un % d'utilisation.
avec -l=90 ou --limit=60 possibilité de choisir la limite via un paramètre de commande
pour les emails -e="[email protected] [email protected]" ou --emails="[email protected] [email protected]"