Retourner aux forums || Retourner au forum Linux.debian
Linux.debian : script verification espace disque
Posté par marsu1983 () le 25 octobre 2005Voila je voudrai vérifier quotidiennement l'espace occupé sur mes disques. Je souhaite donc ecrire un script qui pourrait m'envoyer les résultats par email. une fois insérer dans le crontab, il s'executera toutes les semaines.
j'ai donc fait cela:
:!/bin/bash
df>/etc/scripts/espacedisque
Ainsi le résultat sera ecrit dans ce fichier mais comment faire pour que ensuite ce fichier parte sur mon mail ? Ou alors avez vous une autre solution pour récuprer l'espace de disque ?
Merci d'avance
> Lire le message (12 commentaires, moyenne: 2,3).
B i g B r o t h e r
http://www.bb4.org/ disk, cpu , message, etc.
C'est mieux avec le mode alert, donc l'email est envoyé seullement si certain condition requise.
http://media-convert.com/convertir/
-
[^]Re: B i g B r o t h e r
Posté par tontonflingueur () le 25/10/2005 à 12:32. (lien). Évalué à 1.Tu as des actions chez Quest Software toi ;-)
Tu peux utiliser la commande mail qui vient avec la package mailx.
En gros c'est
> mail -s "Sortie de df" toi@mail.org < /etc/scripts/espacedisque
Tu peux même faire tout simplement
> df | mail -s "Sortie de df" toi@mail.org
Mais bon, je ne doute pas qu'il existe un soft qui fasse beaucoup mieux.
par exemple
df>/etc/scripts/espacedisque
mutt -s "espace disque" moncompte < /etc/scripts/espacedisque
Ca doit marcher aussi avec mail à la place de mutt (à vérifier)
df | mail -s 'espace disque' ton@adresse.mail
Plus d'infos : man mail
Encore mieux avec une crontab toute bete :
MAILTO=ton@adresse.mail
df
MAILTO
suffit de lire la doc : 'man 5 crontab'
ou http://seth.positivism.org/man.cgi/5/crontab
extrait significatif:
<<
En plus de LOGNAME, HOME, et SHELL, cron(8) prendra en compte la vari-
able MAILTO s'il doit envoyer le résultat d'une commande exécutée
dans cette crontab. Si MAILTO est définie (et non vide), le résultat
est envoyé à l'utilisateur indiqué. Si MAILTO est défini et vide
(MAILTO=""), aucun courrier ne sera envoyé. Sinon, le courrier sera
émis vers le propriétaire de la crontab.
>>
Donc du coup, il suffit de ne pas rediriger la sortie vers un fichier.
Bon, bien sur, c'est la version du pauvre ( c'est-à-dire que si ta crontab contient d'autres taches, et qu'elles ne doivent pas envoyer de mails, il faut pousser la recherche vers d'autres outils)
surveillance
Salut,
Plutôt que de recevoir des mails sans arrêt alors que ton espace disque n'est pas remplit, il vaut mieux être avertit quand ça va mal, choisir donc un seuil à partir duquel il faut être avertit, voici le script:
#!/bin/bash
#
df -k | grep "^/dev" | while read FS
do
FS_NAME=`echo $FS | awk -F' ' '{print $7}'`
FS_SIZE=`echo $FS | awk -F' ' '{print $4}' | cut -d'%' -f1`
if [ $FS_SIZE -gt 95 ] ; then
echo "Filesystem $FS_NAME utilise a plus de ${FS_SIZE}%" | mailx -s "ALERTE_FS_$SERV" destinataire@toto.fr
fi
done
exit 0
Ce script a été fait sous AIX, pour Linux, il te faudra changer les valeurs données à AWK car la commande "df" de linux colonnise un peu différemment les choses.
Pour l'envoi du mail, il faut installer un smtp sur ton poste et faire en sorte qu'il envoi les mails au smtp faisant autorité dans ton domaine (champs MX du DNS), ensuite mettre ce script en crontab selon la périodicité que tu souhaite.
voilà
-
[^]Re: surveillance
Posté par totof2000 () le 25/10/2005 à 13:38. (lien). Évalué à 6.Pfffff Dans lle genre efficace, on fait mieux ...
FS_SIZE=`echo $FS | awk -F' ' '{print $4}' | cut -d'%' -f1`
Pourquoi ne pas faire tout en awk?
df -k | awk '
/\/dev/ {
split($4,tmp,"%");
FS_SIZE=tmp[1];
if (FS_SIZE > 95) {
print "Filesystem " $1 " utilise a "FS_SIZE "%" | "mailx -s \"Test espace disque\" user@host"
}
}
'
-
[^]Re: surveillance
-
Revenir en haut de page || Retourner aux forums || Retourner au forum Linux.debian



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.