Salut à tous,
J'ai écrit un script qui permet de récupérer la température de mon disque dur en interrogeant hddtemp.
Hddtemp fonctionne corectement, plusieurs programmes installés l'utilisent sans soucis (gkrellm par ex.).
Le script, à ce stade fonctionne aussi correctement, la valeur est correctement récupérée, et un "echo $valeur" affiche bien la température récupérée.
J'ai un portable et un ordi de bureau, tous deux sous FC5 et à jour (même version des logiciels hddtemp, rrdtool, bash, sh, ...).
j'ai conçu ce script sur mon portable puis l'ai installé sur mon ordi de bureau.
Ce script utilise ensuite cette valeur de la température pour la stocker dans une base rrdtool... et c'est là que ça cloche:
sur mon portable, tout fanctionne parfaitement, mais sur mon ordi de bureau, ce même script ne fonctionne pas: rrdtool ne veut pas de la valeur qui lui est passée et marque donc NaN (Not a number) à la place du nombre.
J'ai essayé différentes méthodes par l'instruction cut, ou grep, ou passer par une variable, ou passer directement... mais rien n'y fait, la valeur n'est soit pas prise en compte (NAN) soit erronnée (un nombre de type float cmplètement bizarre) par rrdtool.
voici comment je crée la base:
# pour le disque dur (température)
$rrdtool create $home/hdmon.rrd -s 300
DS:temp:GAUGE:600:0:U
RRA:MAX:0.5:1:600
RRA:MAX:0.5:3:1344
RRA:MAX:0.5:6:3000
RRA:MAX:0.5:144:1470
RRA:AVERAGE:0.5:6:3000
RRA:AVERAGE:0.5:144:1470
Ensuite, voici le script lancé toutes les 5 minutes par cron en tant qu'utilisateur simple:
#!/bin/sh
grep="/bin/grep"
cut="/usr/bin/cut"
cat="/bin/cat"
rrdtool="/usr/bin/rrdtool"
# HDATemp température de hda en degrés C
HDATemp=`/usr/bin/hddtemp -n /dev/hda`
#
$rrdtool update /home/denis/hdmon.rrd N:`echo $HDATemp`
#
# echo $HDATemp
dans /etc/crontab, j'ai la ligne suivante:
*/5 * * * * denis /home/denis/hdtmp.sh >/dev/null 2>&1
Voilà, le script de récupération de la température ne fonctionne QUE sur mon portable, pas sur mon PC de bureau...
étrange, ou normal? à votre avis?
que dois-je modifier? comment contourner le problème?
note: j'ai eu aussi beaucoup de mal à écrire les scripts qui récupèrent les valeurs pour la carte réseau, le processeur, la mémoire, mais j'y suis arrivé en bidouillant, le comportement de mes scripts est assez bizarre sur mon ordi de bureau. A moins que ce soit moi qui ai manqué qqchose!
merci
à+