Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/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@email.fr email2@email.fr)
- emails=(email@email.fr)
- #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@example.fr email2@example.fr"
- 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement