Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Retourner aux forums || Retourner au forum Linux.debian

Linux.debian : script verification espace disque

Posté par marsu1983 () le 25 octobre 2005
Bonjour a tous,
Voila 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).  

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.

B i g B r o t h e r

Posté par Ngoc-Khoi TO (page perso, ) le 25/10/2005 à 12:23. (lien). Évalué à 1.

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

Posté par mac_is_mac (page perso, ) le 25/10/2005 à 12:30. (lien). Évalué à 2.

df>/etc/scripts/espacedisque
mutt -s "espace disque" moncompte < /etc/scripts/espacedisque

Ca doit marcher aussi avec mail à la place de mutt (à vérifier)

mail

Posté par Arachne (page perso, ) le 25/10/2005 à 12:30. (lien). Évalué à 1.

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

Posté par Antonio Da Silva (page perso, ) le 25/10/2005 à 12:32. (lien). Évalué à 1.

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)

  • [^]Re: MAILTO

    Posté par marsu1983 () le 25/10/2005 à 13:18. (lien). Évalué à 1.

    merci a tous pour toutes ces réponses rapides je vais me pencher la dessu juste une tite question mon serveur linux n'est pas serveur mail cela ne va t'il pas empécher l'envoi ?
    Merci

    • [^]Re: MAILTO

      Posté par benodilo () le 25/10/2005 à 22:19. (lien). Évalué à 1.

      Tu install Postfix et dans le fichier de conf tu indiques le serveur smtp (serveur mail) que tu utilises pour envoyer tes mails (dans le main.conf tu mets "relayhost = adresseserveurmail")

surveillance

Posté par Dabowl_94 () le 25/10/2005 à 13:11. (lien). Évalué à 5.

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

      Posté par totof2000 () le 25/10/2005 à 13:50. (lien). Évalué à 3.

      Et encore y a mieux:

      df -k | awk '
      /\/dev/ {
      split($4,tmp,"%");
      if (tmp[1]> 95) {
      print "Filesystem " $1 " utilise a " $4 | "mailx -s \"Test espace disque\" user@host"
      }
      }
      '

    • [^]Re: surveillance

      Posté par Dabowl_94 () le 25/10/2005 à 13:50. (lien). Évalué à 2.

      parce que mon code est plus lisible par une grande majorité :-)

      • [^]Re: surveillance

        Posté par totof2000 () le 25/10/2005 à 13:57. (lien). Évalué à 3.

        Il est plus lisible mais moins efficace lorsqu'il doit traiter un grand nombre de lignes (un fork+exec a chaque commande appelée). Et puis surtout faire du awk+cut je trouve ça un peu idiot.

Revenir en haut de page || Retourner aux forums || Retourner au forum Linux.debian