IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Script d'administration : surveiller le taux d'occupation d'un système de fichier


Sujet :

Shell et commandes GNU

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Script d'administration : surveiller le taux d'occupation d'un système de fichier
    Bonjour à tous,
    Je souhaiterais plannifier la tache d'administration suivante:
    avec un script, vérifier la taille de mes files systems et avertir les utlisateurs connectés quand un file systems atteint 75% de taux d'occupation avec le nom du file system concerné.
    Dois-je utiliser la commande awk et comment?
    Pourriez vous m'aider SVP?
    Merci d'avance
    Cordialement.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Août 2008
    Messages : 505
    Points : 712
    Points
    712
    Par défaut
    Avec df -k tu as le taux d'occupation directement. Un coup de awk et bing.

  3. #3
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    #!/bin/bash
    ###########################################################################
    #                                                                         #
    # Nom : disk-full.bash                                                      #
    # Version : 0.1                                                           #
    # Auteur : Anonyme - cf http://www.debian-administration.org/articles/143 #
    # Licence : GPL                                                           #
    # Objet : regarde l'espace disponible sur les partitions et envoie un mail#
    #         d'alerte quand la limite est atteinte                           #
    #                                                                         #
    #                                                                         #
    ###########################################################################
    # Changelog :
    # 18/06/08 - ega- utilisation de /var/run pour empecher le double lancement
    # 13/08/08 - ega- log ajoutes, exit plutot que return
    # 27/08/08 - ega- exclusion de levaluation des partitions nfs dans le df
    # 18/09/08 - ega- exclusion de levaluation des disquettes
     
    #
    #
    # Note : ce script fonctionne en bash pas en sh
     
    # CONSTANTES
    HOSTNAME=$(hostname)
    DOMAINE="@mondomaine.fr"
     
    myscriptname="HDFullnessCheck"
    pidfile="/var/run/$myscriptname.pid"
    logfile="/var/log/localscript/$myscriptname.log"
     
    # a adapter :
    mailing_list=administrateur$DOMAINE
     
    # pourcentage limite d'occupation du disque
    LIMIT=90
    mail_body_file=$(mktemp)
     
    log_failure()
    {
    	echo "`date` [echec]" >> $logfile
    }
    log_success()
    {
            echo "`date` [succes]" >> $logfile
    }
     
    # Ecriture du contenu du message dans un fichier temporaire
    write_mail_body()
    {
    cat << EOF >> $mail_body_file
    Bonjour.
     
    La partition $partition sur $HOSTNAME necessite votre intervention.
    Elle est remplie a $percent % : il reste $disp
     
    Cordialement.
    EOF
    }
     
    # Ecriture du contenu du message dans un fichier temporaire
    write_error_body()
    {
    cat << EOF >> $mail_body_file
    Bonjour.
     
    $pidfile existe. Cela indique que le script ne s'est pas termine correctement.
     
    Cordialement.
    EOF
    }
     
    # string vide
    if [ -z "$pidfile" ]
    then
    	mail_subject="[$HOSTNAME] Alerte : erreur $pidfile"
    	write_error_body
    	mail -s "$mail_subject" $mailing_list < $mail_body_file
    	log_failure
    	exit 1
    fi
    # fichier existe
    if [ -e "$pidfile" ]
    then
            mail_subject="[$HOSTNAME] Alerte : erreur $pidfile"
            write_error_body
            mail -s "$mail_subject" $mailing_list < $mail_body_file
    	log_failure
            exit 1
    fi
     
    echo $! > $pidfile
     
    # SCRIPT
    # on evite les disquettes, les partages nfs et tout ce qui ne commence pas par /
    for line in $( df -Ph -x nfs | grep "^/" | grep -v "^/dev/fd[0-9]" | sed -r "s/ {1,}/@/g" ); do
     
    #	echo $line
     
    	percent=$( echo "$line" | awk -F@ '{print$5}' | tr -d '%' )
    	partition=$( echo "$line" | awk -F@ '{print$6}')
    	disp=$( echo "$line" | awk -F@ '{print$4}')
     
    #	echo "$percent   $partition   $disp"
     
    	if [ $percent -ge $LIMIT ]; then
    		mail_subject="[$HOSTNAME] Alerte : Partition $partition pleine a $percent%"
    		write_mail_body
    		mail -s "$mail_subject" $mailing_list < $mail_body_file
    	fi
    done
     
    rm -f $pidfile
    log_success
     
    exit 0
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

Discussions similaires

  1. WebLogic 9.2 script d'administration
    Par marcoos dans le forum Weblogic
    Réponses: 6
    Dernier message: 09/09/2008, 19h37
  2. Les droits à adopter pour un script d'administration.
    Par Madmac dans le forum Administration système
    Réponses: 12
    Dernier message: 03/09/2006, 21h02
  3. Taux 'd'occupation' du CPU
    Par Sunchaser dans le forum C++Builder
    Réponses: 2
    Dernier message: 21/06/2006, 17h04
  4. Script page administration et authentification Php
    Par mastercartman dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 11/03/2006, 17h34
  5. Connaître le taux d'occupation CPU
    Par Thom@s dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 12/11/2003, 23h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo