Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
atelier:chantier:hddtemp-dev-disk-by-id-conky [25/04/2020 13:22] DarKou [Introduction] relecture (et ajout de -w pour nano) |
atelier:chantier:hddtemp-dev-disk-by-id-conky [19/03/2021 18:08] --gilles-- [hddtemp /dev/disk/by-id/ conky] |
||
---|---|---|---|
Ligne 9: | Ligne 9: | ||
* Création par [[user>Debian Alain]] 23/04/2020 | * Création par [[user>Debian Alain]] 23/04/2020 | ||
* Testé par <...> le <...> FIXME | * Testé par <...> le <...> FIXME | ||
+ | * Alerte obsolescence par [[user>--gilles--]] 19/03/2021 | ||
* Commentaires sur le forum : [[:url-invalide | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME | * Commentaires sur le forum : [[:url-invalide | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME | ||
**Nota :** | **Nota :** | ||
+ | |||
+ | |||
Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
Ligne 23: | Ligne 26: | ||
<code root>apt install hddtemp </code> | <code root>apt install hddtemp </code> | ||
+ | |||
+ | Puis le reconfigurer afin qu'il soit lancé au démarrage de notre système et qu'il soit accessible par nos programmes (ici conky) : | ||
<code root>dpkg-reconfigure hddtemp</code> | <code root>dpkg-reconfigure hddtemp</code> | ||
Ligne 36: | Ligne 41: | ||
{{https://debian-facile.org/images/file-R8648856b9dd7415a67a6e8021eb6089a.png}} | {{https://debian-facile.org/images/file-R8648856b9dd7415a67a6e8021eb6089a.png}} | ||
- | Ensuite, configurer le fichier /etc/default/hddtemp comme suit : | + | Nous devons ensuite configurer le fichier /etc/default/hddtemp afin de lui dire de lire aussi les disques nommés sous forme la /dev/disk/by-id/XXXXXX. |
- | se baser sur la recherche des id : | + | Pour obtenir la correspondance entre /dev/sdX et /dev/disk/by-id/XXXXXX nous pouvons faire un ls -l dans le dossier /dev/disk/by-id/. |
- | chez moi : | + | |
+ | Voici ce que j'obtiens : | ||
<code user>ls -lh /dev/disk/by-id/</code> | <code user>ls -lh /dev/disk/by-id/</code> | ||
<code>total 0 | <code>total 0 | ||
Ligne 71: | Ligne 77: | ||
... / ... | ... / ... | ||
</code> | </code> | ||
+ | |||
+ | Nous reportons ainsi la liste des devices qui nous intéresse dans le fichier de configuration d'hddtemp (ligne DISKS) | ||
<code root>nano -w /etc/default/hddtemp</code> | <code root>nano -w /etc/default/hddtemp</code> | ||
Ligne 119: | Ligne 127: | ||
===== Test ===== | ===== Test ===== | ||
- | la commande : | + | Il ne nous reste plus qu'a tester pour voir si hddtemp récupère bien les températures de nos disques. |
- | <code root>hddtemp /dev/disk/by-id/wwn-0x500a0751e134d584</code> | + | Exemple avec le disque wwn-0x500a0751e134d584 (sdf) : |
- | donne , chez moi : | + | |
<code>alain@Alain-PC:~$ sudo hddtemp /dev/disk/by-id/wwn-0x500a0751e134d584 | <code>alain@Alain-PC:~$ sudo hddtemp /dev/disk/by-id/wwn-0x500a0751e134d584 | ||
[sudo] Mot de passe de alain : | [sudo] Mot de passe de alain : | ||
/dev/disk/by-id/wwn-0x500a0751e134d584: CT500MX500SSD4: 46°C</code> | /dev/disk/by-id/wwn-0x500a0751e134d584: CT500MX500SSD4: 46°C</code> | ||
- | + | ||
- | de même , dans conky : | + | Nous pouvons alors reporter cette commande dans conky afin de monitorer la température de notre disque : |
<code user>${alignc} disque ssd : ${hddtemp /dev/disk/by-id/wwn-0x500a0751e134d584}°C</code> | <code user>${alignc} disque ssd : ${hddtemp /dev/disk/by-id/wwn-0x500a0751e134d584}°C</code> | ||
- | |||
- | donne : | ||
- | |||
{{https://debian-facile.org/images/file-R6c8adfb35f6817f5a13827ff6885abff.png}} | {{https://debian-facile.org/images/file-R6c8adfb35f6817f5a13827ff6885abff.png}} | ||
Ligne 139: | Ligne 143: | ||
<code>DISKS="/dev/sd[a-f] /dev/disk/by-id/wwn-0x5000c5003fa4e30d /dev/disk/by-id/wwn-0x5000c5004fbead7a /dev/disk/by-id/wwn-0x5000c500465b459f /dev/disk/by-id/wwn-0x5000c5009ca2e849 /dev/disk/by-id/wwn-0x5000c500b67c94c2 /dev/disk/by-id/wwn-0x500a0751e134d584"</code> | <code>DISKS="/dev/sd[a-f] /dev/disk/by-id/wwn-0x5000c5003fa4e30d /dev/disk/by-id/wwn-0x5000c5004fbead7a /dev/disk/by-id/wwn-0x5000c500465b459f /dev/disk/by-id/wwn-0x5000c5009ca2e849 /dev/disk/by-id/wwn-0x5000c500b67c94c2 /dev/disk/by-id/wwn-0x500a0751e134d584"</code> | ||
- | avec la modification ci - dessus du fichier /etc/default/hddtemp , | + | Avec la modification ci-dessus du fichier /etc/default/hddtemp, vous avez accès aussi bien à la notation /dev/sdX qu'a la notation /dev/disk/by-id/XXXXX. |
- | vous avez accès aussi bien accès en /dev/sdX | + | |
- | que en /dev/disk/by-id/XXXXX | + | ==== Température ssd en couleur ==== |
+ | |||
+ | Nous allons créer un script bash afin de récupérer la température d'un disque. | ||
+ | |||
+ | Ce script recevra 2 paramètres : | ||
+ | * le mode d'affichage (conky|shell) | ||
+ | * l'id du disque à monitorer | ||
+ | |||
+ | <code user>nano -w ~/bin/show_disk_temperature.sh</code> | ||
+ | <file bash show_ssd.sh> | ||
+ | #! /bin/bash | ||
+ | |||
+ | # Get temperature value | ||
+ | SENSOR_PROBE="/dev/disk/by-id/$2" | ||
+ | TEMP_STRING=$(hddtemp "$SENSOR_PROBE" | grep --only-matching '[0-9.]\+°C' | head --lines=1 ) | ||
+ | TEMP_NUMBER=${TEMP_STRING%°C} | ||
+ | |||
+ | # Set display mode based on arguments | ||
+ | # Default is to display temperature in a console | ||
+ | DISPLAY_MODE="$1" | ||
+ | |||
+ | # Set display color based on temperature value | ||
+ | # ≥ 70°C is high, ≥ 80°C is critical | ||
+ | if [ $TEMP_NUMBER -ge 60 ]; then | ||
+ | case "$DISPLAY_MODE" in | ||
+ | ('conky') | ||
+ | COLOR='red' | ||
+ | ;; | ||
+ | ('shell') | ||
+ | COLOR=31 | ||
+ | ;; | ||
+ | esac | ||
+ | elif [ $TEMP_NUMBER -ge 50 ]; then | ||
+ | case "$DISPLAY_MODE" in | ||
+ | ('conky') | ||
+ | COLOR='yellow' | ||
+ | ;; | ||
+ | ('shell') | ||
+ | COLOR=33 | ||
+ | ;; | ||
+ | esac | ||
+ | else | ||
+ | case "$DISPLAY_MODE" in | ||
+ | ('conky') | ||
+ | COLOR='green' | ||
+ | ;; | ||
+ | ('shell') | ||
+ | COLOR=32 | ||
+ | ;; | ||
+ | esac | ||
+ | fi | ||
+ | |||
+ | # Set message syntax based on display mode | ||
+ | case "$DISPLAY_MODE" in | ||
+ | ('conky') | ||
+ | MESSAGE='${color %s}%s${color}' | ||
+ | ;; | ||
+ | ('shell') | ||
+ | MESSAGE='\033[1;%sm%s\033[0m\n' | ||
+ | ;; | ||
+ | esac | ||
+ | |||
+ | # Print the formatted message | ||
+ | printf "$MESSAGE" "$COLOR" "$TEMP_STRING" | ||
+ | |||
+ | exit 0 | ||
+ | </file> | ||
+ | |||
+ | Il faut maintenant le rendre exécutable : | ||
+ | |||
+ | <code>chmod +x ~/bin/show_disk_temperature.sh</code> | ||
+ | |||
+ | Et enfin nous pouvons l'intégrer à notre configuration conky : | ||
+ | |||
+ | <code>$hr | ||
+ | ${alignc}Températures | ||
+ | |||
+ | ${alignc} disque ssd : ${execpi 5 ~/bin/show_disk_temperature.sh conky wwn-0x500a0751e134d584} | ||
+ | |||
+ | $hr </code> | ||
+ | |||
+ | vous devriez obtenir ceci , par exemple : | ||
+ | |||
+ | {{https://debian-facile.org/images/file-Rc472b5879667b83cf4123be96ec5e1d1.png}} | ||