Pour suivre le taux d’occupation disque sur une machine et sur un serveur en particulier, il est intéressant de les publier au format html sur un serveur web.
Dans cet article, un petit script qui transforme le resultat de la commande df en un tableau html.

    #!/bin/sh
    #
    # Mesure du taux d'occupation disques
    #
    #--------------------------------------------------
    # Variables
    #
    FicRes="EspDisque.txt"          # fichier temporaire
    FicHtml="EspDisque.html"        # Resultat au format html

    #Debug=1                # 1 = messages d'info, pas de variable -> pas de messages
    HostName=`hostname`
    #--------------------------------------------------
    # Fonctions
    #--------------------------------------------------
    # Main ou principal
    #
    # Mesure de l'espace disque
    if [ -f $FicRes ]
    then
     if test $Debug
     then
     echo -e "-I-> Suppression du fichier $FicHtml precedent."
     fi
     \rm $FicHtml
    fi
    if [ -f $FicRes ]
    then
     if test $Debug
     then
     echo -e "-I-> Suppression du fichier $FicRes precedent."
     fi
     \rm $FicRes
    fi
    if test $Debug
    then
     echo -e "\n-I-> Mesure de l'espace disque. Le resultat est dans le fichier $FicRes."
    fi
    df -hP > $FicRes # -h pour Human Readable, Ok sous linux mais Ko sous Solaris 7 et AIX 4.33

    if test $Debug
    then
     echo -e "\n-I-> Creation du fichier $FicHtml."
    fi
    cat > $FicHtml << FIN
    <html>
    <header>
    <title>Occupation disque sur $HostName</title>
    </header>
    <body>
    <h1>Occupation disque sur $HostName</h1>
    <table border="1">
    <tr>
     <th>File System</th>
     <th>Taill</th>
     <th>Occupe</th>
     <th>Disponible</th>
     <th>Taux</th>
     <th>Point de montage</th>
    </tr>
    FIN
    while read ligne
    do
     numligne=`expr $numligne + 1`
     if [ $numligne -gt 1 ]
     then
     if test $Debug
     then
     echo -e "- $numligne : $ligne"
     fi
     echo $ligne | awk '{print "<tr><td>"$1"</td><td>"$2"</td><td>"$3"</td><td>"$4"</td><td>"$5"</td><td>"$6"</td></tr>"}' >> $FicHtml
     fi
    done < $FicRes

    cat >> $FicHtml << FIN
    </table>
    </body>
    </html>
    FIN

    if test $Debug
    then
     echo -e "\n\n\tFin du traitement.\n\n"
    fi