Affichage avancé des périphériques dans conky

Publié le par Levi59

Ce petit code permet d'afficher automatiquement tous les périphériques branchés (sauf ceux en lecture seule) en les affichant par leurs noms ($name).


 

  • Via un script séparé:
Version 1 (vieillotte car via fichier temporaire) :

la ligne à modifier pour la présentation dans conky est la 13:

Code:

#!/bin/bash
# affiche les informations sur les périphériques de stockage.
# Copyright (C) 04 dec. 2010, Rombeaut Rodolphe
# http://scriptam.over-blog.com/
# Released into the public domain.

# vérifier l'existence du fichier et si oui, le supprimer
    rm -f /tmp/infosdd
 

# pas de Read Only
    for i in `grep ^\/dev\/ /etc/mtab | grep -v [\,\ ]ro[\,\ ] | awk -F " " {'print $2'}`
    do
        # récupérer le nom de dossier
        name=`echo $i | awk -F "/" {'print $NF'}`
        echo $name '${fs_used_perc '$i'}% ${fs_bar '$i'}' >> /tmp/infosdd
    done

dans le conkyrc:

Code:

${execpi 30 bash /CHEMIN_VERS_LE_SCRIPT_PRECEDENT.sh && cat /tmp/infosdd}

 

Version 2 : 
capture2eg.png
#!/bin/bash
# By Rodolphe Rombeaut sur le modèle de Cyril (Alias Sunkart)
# Affichage avancé des périphériques
# Copyright (C) 14 Jan. 2011, Rombeaut Rodolphe
# http://scriptam.over-blog.com/
# Released into the public domain.

OLDIFS=$IFS
IFS="
"
liste=()
alpha=(a b c d e f g h i j k l m n o p q r s t u)
for i in `df -h | grep ^\/dev`
do
    # récupérer le nom de dossier
    name=${i#*\%}
    [ -z "${name##*/}" ] && name="root" || name=${name##*/}
   
    montage=${i#*\%}
    [ -z "${montage#*/}" ] && montage="/" || montage="/${montage#*/}"
   
    valeur=${i%\%*}
    valeur=${valeur##* }
    [ "$valeur" -gt 80 ] && color="CC2929" || {
        [ "$valeur" -gt 50 ] && color="CC6D29" || {
            [ "$valeur" -gt 20 ] && color="008000" || color="616161"
        }
    }
   
    graph=$(( ($valeur*21) / 100 ))
    graph=${alpha[$graph]}
    liste+=(`echo '${alignr}'$name'
${alignr}${color '$color'}${fs_used '$montage'}${color}
${voffset -28}${font Pie charts for maps:size=12}${color '$color'}'$graph'${color}${font}
${voffset -6}${font Nimbus Sans L:size=7}${color '$color'}'$valeur'%${color}${font}'`)
done

printf '%s\n' ${liste[@]}
IFS=$OLDIFS
exit

 dans le conkyrc:

Code:

${execpi 10 /CHEMIN_VERS_LE_SCRIPT_PRECEDENT.sh}

 

  • Via quelques lignes dans le conkyrc

la ligne à modifier pour la présentation est la 2:

Code:

${color0}${execpi 10 grep ^\/dev\/ /etc/mtab | grep -v [\,\ ]ro[\,\ ] | awk -F " " {'print $2'} | while read line ; do name=$(echo $line | awk -F "/" {'print $NF'}|sed 's/^$/Root/') ;
echo $name '${goto 140}${fs_used_perc '$line'}%${goto 180}${color2}${if_match ${fs_used_perc '$line'} > 4}${fs_bar '$line'}${else}${execbar echo 4}${endif}${offset -100}${color black}${execbar echo 0}${color}'
done }

Publié dans Monitoring

Commenter cet article

Levi59 28/09/2010 23:36


@ préciser, le nom n'est pas la seule chose que l'on peut afficher...
En réalité, tout est possible!

C'est beau le bash.