Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 26-05-2020 17:17:02

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-2-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

[résolu] script température nvme

je possède ce script que j'ai piqué à un collègue sur le forum :

#!/bin/sh
 
# Get temperature value
SENSOR_PROBE='/dev/nvme0'
TEMP_STRING=$(/usr/sbin/smartctl -a "$SENSOR_PROBE" | grep Temperature | grep --only-matching '[0-9.]\+°C' | head --lines=1 )
TEMP_NUMBER=${TEMP_STRING%.*}

# Set display mode based on arguments
# Default is to display temperature in a console
unset DISPLAY_MODE
if [ $# -eq 1 ]; then
  case "$1" in
    ('conky'|'shell')
      DISPLAY_MODE="$1"
    ;;
  esac
fi
: "${DISPLAY_MODE:=shell}"
 
# 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érature disque S.S.D. : $TEMP_STRING"
 
exit 0

 



malheureusement :

bash show_ssd.sh


show_ssd.sh: ligne 22 : [: -ge : opérateur unaire attendu
show_ssd.sh: ligne 31 : [: -ge : opérateur unaire attendu
température disque S.S.D. :
 



pourtant :

sudo smartctl -a /dev/nvme0 | grep Temperature | awk '{print $2}'


[sudo] Mot de passe de alain :
39
Comp.
Comp.
Sensor
Sensor
Sensor
 



et

alain@P1-NVME:~/Téléchargements$ SENSOR_PROBE='/dev/nvme0'
alain@P1-NVME:~/Téléchargements$ /usr/sbin/smartctl -a "$SENSOR_PROBE"


smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.6.0-1-amd64] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

Smartctl open device: /dev/nvme0 failed: Permission denied
 



et

alain@P1-NVME:~/Téléchargements$ SENSOR_PROBE='/dev/nvme0'
sudo smartctl -a $SENSOR_PROBE | grep Temperature


Temperature:                        40 Celsius
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0
Temperature Sensor 1:               41 Celsius
Temperature Sensor 2:               39 Celsius
Temperature Sensor 5:               47 Celsius
 

Dernière modification par Debian Alain (28-05-2020 14:22:52)

En ligne

#2 26-05-2020 17:41:39

MicP
Membre
Inscription : 29-02-2016

Re : [résolu] script température nvme

Bonjour

Ce script a été écrit pour être exécuté par l'interpréteur de commandes /bin/sh qui, sur debian, est un lien vers /bin/dash

Comme il accède au fichier de périphérique /dev/nvme0 et que ce fichier de périphérique est la propriété du compte root
et que les permissions d'accès à ce périphérique n'ont été données qu'à son propriétaire (root)
il faudra avoir les privilèges du compte root pour que ce script puisse être exécuté
et lancer ce script avec l'interpréteur de commandes /bin/sh
comme spécifié dans le shebang (première ligne du script qui contient : #!/bin/sh)

Hors ligne

#3 26-05-2020 17:48:16

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-2-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : [résolu] script température nvme

veux bien , Micp , mais çà ne change rien .

#!/bin/sh  ou   #!/bin/bash  , c'est pareil .

Dernière modification par Debian Alain (26-05-2020 17:49:50)

En ligne

#4 26-05-2020 18:17:13

MicP
Membre
Inscription : 29-02-2016

Re : [résolu] script température nvme

Effectivement.

Remplace les lignes contenant :

TEMP_STRING=$(/usr/sbin/smartctl -a "$SENSOR_PROBE" | grep Temperature | grep --only-matching '[0-9.]\+°C' | head --lines=1 )
TEMP_NUMBER=${TEMP_STRING%.*}

par :

TEMP_NUMBER=$(/usr/sbin/smartctl -a "$SENSOR_PROBE" | awk '/194 Temperature_Celsius/{print $NF}')
TEMP_STRING="$TEMP_NUMBER°C"



=======
Ce script fonctionnera si, sur ta machine, le fichier de périphérique /dev/nvme0 existe bien,
sinon, remplace ce nom par celui d'un fichier de périphérique (par exemple /dev/sda) qui est associé à un disque dur sur ta machine.


Dernière modification par MicP (26-05-2020 18:31:53)

Hors ligne

#5 26-05-2020 18:30:34

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-2-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : [résolu] script température nvme

#!/bin/bash
 
# Get temperature value
SENSOR_PROBE='/dev/nvme0'
#
#TEMP_STRING=$(/usr/sbin/smartctl -a "$SENSOR_PROBE" | grep Temperature | grep --only-matching '[0-9.]\+°C' | head --lines=1 )
#TEMP_NUMBER=${TEMP_STRING%.*}
#
TEMP_NUMBER=$(/usr/sbin/smartctl -a "$SENSOR_PROBE" |awk '/Temperature/{print $NF}')
TEMP_STRING="$TEMP_NUMBER°C"

# Set display mode based on arguments
# Default is to display temperature in a console
unset DISPLAY_MODE
if [ $# -eq 1 ]; then
  case "$1" in
    ('conky'|'shell')
      DISPLAY_MODE="$1"
    ;;
  esac
fi
: "${DISPLAY_MODE:=shell}"
 
# 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érature disque S.S.D. : $TEMP_STRING"
 
exit 0
 



bash show_ssd.sh


show_ssd.sh: ligne 26 : [: -ge : opérateur unaire attendu
show_ssd.sh: ligne 35 : [: -ge : opérateur unaire attendu
température disque S.S.D. : °C
 



sudo bash show_ssd.sh


show_ssd.sh: ligne 26 : [: trop d'arguments
show_ssd.sh: ligne 35 : [: trop d'arguments
température disque S.S.D. : Celsius
0
0
Celsius
Celsius
 



alain@P1-NVME:~$ SENSOR_PROBE='/dev/nvme0'
alain@P1-NVME:~$ TEMP_NUMBER=$(/usr/sbin/smartctl -a "$SENSOR_PROBE" |awk '/Temperature/{print $NF}')
alain@P1-NVME:~$ TEMP_STRING="$TEMP_NUMBER°C"
alain@P1-NVME:~$ echo $TEMP_STRING
°C
alain@P1-NVME:~$

Dernière modification par Debian Alain (26-05-2020 18:34:47)

En ligne

#6 26-05-2020 18:33:22

MicP
Membre
Inscription : 29-02-2016

Re : [résolu] script température nvme

Donne moi le retour de la ligne de commande suivante :

ls -l /dev/nvme0

Hors ligne

#7 26-05-2020 18:36:51

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-2-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : [résolu] script température nvme

ls -l /dev/nvme0


crw------- 1 root root 248, 0 mai   26 17:16 /dev/nvme0

En ligne

#8 26-05-2020 18:41:56

MicP
Membre
Inscription : 29-02-2016

Re : [résolu] script température nvme

Ok,
alors maintenant, le retour de la ligne de commande suivante :

/usr/sbin/smartctl -a /dev/nvme0

Hors ligne

#9 26-05-2020 18:44:35

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-2-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : [résolu] script température nvme

root@P1-NVME:~# /usr/sbin/smartctl -a /dev/nvme0


smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.6.0-1-amd64] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       CT1000P1SSD8
Serial Number:                      2006E289B7B7
Firmware Version:                   P3CR013
PCI Vendor/Subsystem ID:            0xc0a9
IEEE OUI Identifier:                0x00a075
Controller ID:                      1
Number of Namespaces:               1
Namespace 1 Size/Capacity:          1000204886016 [1,00 TB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            00a075 20e289b7b7
Local Time is:                      Tue May 26 19:43:23 2020 CEST
Firmware Updates (0x14):            2 Slots, no Reset required
Optional Admin Commands (0x0016):   Format Frmw_DL Self_Test
Optional NVM Commands (0x005e):     Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp
Maximum Data Transfer Size:         32 Pages
Warning  Comp. Temp. Threshold:     70 Celsius
Critical Comp. Temp. Threshold:     80 Celsius

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     9.00W       -        -    0  0  0  0        5       5
 1 +     4.60W       -        -    1  1  1  1       30      30
 2 +     3.80W       -        -    2  2  2  2       30      30
 3 -   0.0500W       -        -    3  3  3  3     1000    1000
 4 -   0.0040W       -        -    4  4  4  4     6000    8000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         0

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        39 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%
Data Units Read:                    36070 [18,4 GB]
Data Units Written:                 71809 [36,7 GB]
Host Read Commands:                 450844
Host Write Commands:                1099086
Controller Busy Time:               10
Power Cycles:                       4
Power On Hours:                     8
Unsafe Shutdowns:                   2
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0
Temperature Sensor 1:               40 Celsius
Temperature Sensor 2:               39 Celsius
Temperature Sensor 5:               47 Celsius

Error Information (NVMe Log 0x01, max 256 entries)
No Errors Logged
 

En ligne

#10 26-05-2020 18:50:11

MicP
Membre
Inscription : 29-02-2016

Re : [résolu] script température nvme

Ok, le retour de la commande smartctl donné par ton disque
n'est pas tout-à fait celui attendu, mais on va adapter le script à ce retour :

Change la ligne :

TEMP_NUMBER=$(/usr/sbin/smartctl -a "$SENSOR_PROBE" |awk '/Temperature/{print $NF}')

par :

TEMP_NUMBER=$(/usr/sbin/smartctl -a "$SENSOR_PROBE" |awk '/Temperature:/{print $(NF-1)}')

Dernière modification par MicP (26-05-2020 18:53:39)

Hors ligne

#11 26-05-2020 18:50:40

Beta-Pictoris
Membre
Lieu : Angers
Distrib. : Buster
Inscription : 11-08-2015

Re : [résolu] script température nvme

Tu dois lancer ton script en root

Que donne ?

/usr/sbin/smartctl -a /dev/nvme0

Hors ligne

#12 26-05-2020 18:56:33

MicP
Membre
Inscription : 29-02-2016

Re : [résolu] script température nvme

@Beta-Pictoris

Beta-Pictoris a écrit :

… Tu dois lancer ton script en root …

C'est bien ce que Debian Alain a fait,
sinon le script aurait retourné un message d'erreur disant :

 Smartctl open device: /dev/nvme0 failed: Permission denied



=======
@Debian Alain
Attention, j'ai modifié la ligne de remplacement en ajoutant deux points à la suite de Temperature
ce qui donne :

TEMP_NUMBER=$(/usr/sbin/smartctl -a "$SENSOR_PROBE" |awk '/Temperature:/{print $(NF-1)}')


(Je n'avais pas fait attention, mais il semble qu'il y ait trois capteurs de température accessible sur ton SSD)

Dernière modification par MicP (26-05-2020 19:04:28)

Hors ligne

#13 26-05-2020 19:01:02

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-2-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : [résolu] script température nvme

(Je n'avais pas fait attention, mais il semble qu'il y ait trois capteurs de température accessible sur ton SSD)


oui quatre capteurs au total :

Temperature:                        40 Celsius

Temperature Sensor 1:               41 Celsius
Temperature Sensor 2:               39 Celsius
Temperature Sensor 5:               47 Celsius
 




#!/bin/bash
 
# Get temperature value
SENSOR_PROBE='/dev/nvme0'
#
#TEMP_STRING=$(/usr/sbin/smartctl -a "$SENSOR_PROBE" | grep Temperature | grep --only-matching '[0-9.]\+°C' | head --lines=1 )
#TEMP_NUMBER=${TEMP_STRING%.*}
#
TEMP_NUMBER=$(/usr/sbin/smartctl -a "$SENSOR_PROBE" |awk '/Temperature:/{print $(NF-1)}')
TEMP_STRING="$TEMP_NUMBER°C"

# Set display mode based on arguments
# Default is to display temperature in a console
unset DISPLAY_MODE
if [ $# -eq 1 ]; then
        case "$1" in
                ('conky'|'shell')
                        DISPLAY_MODE="$1"
                ;;
        esac
fi
: "${DISPLAY_MODE:=shell}"
 
# 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érature disque S.S.D. : $TEMP_STRING"
 
exit 0
 



root@P1-NVME:/home/alain/Téléchargements# /usr/sbin/smartctl -a /dev/nvme0


smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.6.0-1-amd64] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       CT1000P1SSD8
Serial Number:                      2006E289B7B7
Firmware Version:                   P3CR013
PCI Vendor/Subsystem ID:            0xc0a9
IEEE OUI Identifier:                0x00a075
Controller ID:                      1
Number of Namespaces:               1
Namespace 1 Size/Capacity:          1000204886016 [1,00 TB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            00a075 20e289b7b7
Local Time is:                      Tue May 26 20:09:42 2020 CEST
Firmware Updates (0x14):            2 Slots, no Reset required
Optional Admin Commands (0x0016):   Format Frmw_DL Self_Test
Optional NVM Commands (0x005e):     Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp
Maximum Data Transfer Size:         32 Pages
Warning  Comp. Temp. Threshold:     70 Celsius
Critical Comp. Temp. Threshold:     80 Celsius

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     9.00W       -        -    0  0  0  0        5       5
 1 +     4.60W       -        -    1  1  1  1       30      30
 2 +     3.80W       -        -    2  2  2  2       30      30
 3 -   0.0500W       -        -    3  3  3  3     1000    1000
 4 -   0.0040W       -        -    4  4  4  4     6000    8000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         0

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        40 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%
Data Units Read:                    36070 [18,4 GB]
Data Units Written:                 73332 [37,5 GB]
Host Read Commands:                 450849
Host Write Commands:                1126032
Controller Busy Time:               10
Power Cycles:                       4
Power On Hours:                     9
Unsafe Shutdowns:                   2
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0
Temperature Sensor 1:               41 Celsius
Temperature Sensor 2:               39 Celsius
Temperature Sensor 5:               47 Celsius

Error Information (NVMe Log 0x01, max 256 entries)
No Errors Logged

root@P1-NVME:/home/alain/Téléchargements# nano show_ssd.sh
root@P1-NVME:/home/alain/Téléchargements# /usr/sbin/smartctl -a /dev/nvme0
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.6.0-1-amd64] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       CT1000P1SSD8
Serial Number:                      2006E289B7B7
Firmware Version:                   P3CR013
PCI Vendor/Subsystem ID:            0xc0a9
IEEE OUI Identifier:                0x00a075
Controller ID:                      1
Number of Namespaces:               1
Namespace 1 Size/Capacity:          1000204886016 [1,00 TB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            00a075 20e289b7b7
Local Time is:                      Tue May 26 20:12:55 2020 CEST
Firmware Updates (0x14):            2 Slots, no Reset required
Optional Admin Commands (0x0016):   Format Frmw_DL Self_Test
Optional NVM Commands (0x005e):     Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp
Maximum Data Transfer Size:         32 Pages
Warning  Comp. Temp. Threshold:     70 Celsius
Critical Comp. Temp. Threshold:     80 Celsius

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     9.00W       -        -    0  0  0  0        5       5
 1 +     4.60W       -        -    1  1  1  1       30      30
 2 +     3.80W       -        -    2  2  2  2       30      30
 3 -   0.0500W       -        -    3  3  3  3     1000    1000
 4 -   0.0040W       -        -    4  4  4  4     6000    8000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         0

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        40 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%
Data Units Read:                    36070 [18,4 GB]
Data Units Written:                 73539 [37,6 GB]
Host Read Commands:                 450863
Host Write Commands:                1130812
Controller Busy Time:               10
Power Cycles:                       4
Power On Hours:                     9
Unsafe Shutdowns:                   2
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0
Temperature Sensor 1:               41 Celsius
Temperature Sensor 2:               39 Celsius
Temperature Sensor 5:               47 Celsius

Error Information (NVMe Log 0x01, max 256 entries)
No Errors Logged
 



alain@P1-NVME:~/Téléchargements$ bash show_ssd.sh


show_ssd.sh: ligne 26 : [: -ge : opérateur unaire attendu
show_ssd.sh: ligne 35 : [: -ge : opérateur unaire attendu
température disque S.S.D. : °C
 



alain@P1-NVME:~/Téléchargements$ sudo bash show_ssd.sh


[sudo] Mot de passe de alain :
température disque S.S.D. : 39°C
 



on progresse . reste à l'adapter à conky   :D  :D  :D

${alignc}${color orange}     --- Températures ---

${alignc}${execpi 5 /home/alain/Téléchargements/show_ssd.sh conky}

${alignc}${execpi 5 /home/alain/Téléchargements/show_gpu_temperature.sh conky}
${alignc}${color orange}     température maxi Carte : ${execi 60 sensors amdgpu-pci-0b00 | grep edge | awk 'NR > 2 {print $1}' RS='+' FS=','}
${alignc}  ${execpi 5 /home/alain/Téléchargements/show_gpu_power.sh conky}
${alignc}${color orange}               puissance maxi : ${execi 60 sensors amdgpu-pci-0b00 | grep power1 | awk '
NR > 1 {print $1}' RS='= ' FS=')'}
${alignc}       ${execpi 5 /home/alain/Téléchargements/show_gpu_rpm.sh conky}

${alignc}  ${execpi 5 /home/alain/Téléchargements/show_cpu_temperature.sh conky}

${alignc}${execpi 5 /home/alain/Téléchargements/show_stable.sh conky}
${alignc}${execpi 5 /home/alain/Téléchargements/show_ubuntu.sh conky}
${alignc}${execpi 5 /home/alain/Téléchargements/show_clonezilla.sh conky}



lNgoYfu.png

Dernière modification par Debian Alain (26-05-2020 19:37:27)

En ligne

#14 26-05-2020 20:50:45

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-2-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : [résolu] script température nvme

sudo conky -d


[sudo] Mot de passe de alain :
conky: desktop window (e00010) is subwindow of root window (6d5)
conky: window type - desktop
conky: drawing to created window (0x3a00001)
conky: forked to background, pid is 158290
 



UM5RYiM.png

mais c'est pas ce que je veux .

à moins que vous ne connaissiez une autre commande pour lancer conky en root ....

Dernière modification par Debian Alain (26-05-2020 20:52:17)

En ligne

#15 26-05-2020 21:11:46

MicP
Membre
Inscription : 29-02-2016

Re : [résolu] script température nvme

C'est vrai que je me demande où les autres scripts arrivent à récupérer la température des autres disques sans avoir à utiliser les privilèges du compte root

Je pense qu'il faudrait voir ce qu'il y a dans les autres scripts pour s'en inspirer.

Dernière modification par MicP (26-05-2020 21:12:01)

Hors ligne

#16 26-05-2020 21:21:35

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-2-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : [résolu] script température nvme

justement , les autres scripts lisenty les infos des hdd avec hddtemp .

mais pour le nvme , hddtemp ne fonctionne pas .

En ligne

#17 26-05-2020 21:24:13

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : [résolu] script température nvme

MicP a écrit :

C'est vrai que je me demande où les autres scripts arrivent à récupérer la température des autres disques sans avoir à utiliser les privilèges du compte root

Je pense qu'il faudrait voir ce qu'il y a dans les autres scripts pour s'en inspirer.



Changer les droits de hddtemp peut-être ?

Dernière modification par golgot200 (26-05-2020 21:25:57)

Hors ligne

#18 26-05-2020 21:50:26

MicP
Membre
Inscription : 29-02-2016

Re : [résolu] script température nvme

Je pense que c'est justement à cause du format spécifique (hors normes) des informations retournées par ce disque
que hddtemp n'a pu en récupérer les informations de température.

AMHA, il ne reste qu'à faire "tourner" régulièrement un script
qui serait lancé par systemd ou cron avec les privilèges du compte root
de façon à ce que ce script, grâce à smartctl récupère et renvoie l'information de température
dans un fichier auquel un compte utilisateur non privilégié pourrait avoir accès en lecture.

Hors ligne

#19 26-05-2020 22:43:36

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-2-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : [résolu] script température nvme

trouvé cà : https://bugzilla.redhat.com/show_bug.cgi?id=1801116

https://forums.fedoraforum.org/showthre … VMe-drives

ce qui confirme bien que hddtemp ne sait pas lire la température des ssd nvme .

apparemment , hddtemp n'aurait pas été mis à jour depuis qques années .

reste smartctl

https://www.smartmontools.org/wiki/NVMe_Support

En ligne

#20 26-05-2020 23:10:26

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-2-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : [résolu] script température nvme

MicP , si tu peux m'aider à faire un script systemd pour lancer conky en root le bureau une fois démarré ...

En ligne

#21 26-05-2020 23:50:12

MicP
Membre
Inscription : 29-02-2016

Re : [résolu] script température nvme

Bonjour

un service va régulièrement lancer un script avec les privilèges du compte root
et ce script va actualiser le contenu d'un fichier avec la valeur de la température du disque /dev/nvme0
et ce fichier sera accessible à tous les utilisateurs.

=======
Créez le fichier qui va recevoir la valeur de température du disque /dev/nvme0
en lançant la ligne de commande suivante :

> /home/alain/.temp_nvme0.txt

et rendez ce fichier lisible par tous
en lançant la ligne de commande suivante :

chmod u+r /home/alain/.temp_nvme0.txt



Créez le script /root/.getTempNvme.sh
et dont le contenu sera :

#!/bin/bash

# Started every 20 seconds by get-nvme-temperature.service

[[ $(smartctl -a /dev/nvme0) =~ Temperature:.*([0-9][0-9]).Celsius.*A ]] && echo ${BASH_REMATCH[1]} > /home/alain/.temp_nvme0.txt

EDIT : … et rendez ce script exécutable
en lançant la ligne de commande suivante :

chmod u+x /root/.getTempNvme.sh




Créez le service get-nvme-temperature.service
en lançant la ligne de commande suivante :

systemctl edit --force --full get-nvme-temperature.service

et entrez :

[Unit]
Description=start script to get and transmit /dev/nvme0 disk temperature to /home/alain/.temp_nvme0.txt

[Service]
ExecStart=/root/.getTempNvme.sh

[Install]
WantedBy=graphical.target multi-user.target



Créez le timer get-nvme-temperature.timer
en lançant la ligne de commande suivante :

systemctl edit --force --full get-nvme-temperature.timer

et entrez :

[Unit]
Description=start service to get and transmit /dev/nvme0 disk temperature to /home/alain/.temp_nvme0.txt

[Timer]
OnUnitInactiveSec=20s
AccuracySec=1us

[Install]
WantedBy=timers.target



Rendez le service activable
en lançant la ligne de commande suivante :

systemctl enable get-nvme-temperature.service


Rendez le timer activable
en lançant la ligne de commande suivante :

systemctl enable get-nvme-temperature.timer


activez le timer
en lançant la ligne de commande suivante :

systemctl start get-nvme-temperature.timer



=======
Voilà, il ne te reste plus qu'à aller faire lire régulièrement
par ton conky le contenu du fichier /home/alain/.temp_nvme0.txt

Dernière modification par MicP (27-05-2020 10:00:17)

Hors ligne

#22 27-05-2020 08:45:55

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-2-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : [résolu] script température nvme

j'ai gaffé :

sudo systemctl status get-nvme-temperature.service



● get-nvme-temperature.service - start script to get and transmit /dev/nvme0 disk temperature to /home/alain/.temp_nvme0.txt
     Loaded: loaded (/etc/systemd/system/get-nvme-temperature.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Wed 2020-05-27 09:43:28 CEST; 11s ago
TriggeredBy: ● get-nvme-temperature.timer
    Process: 4981 ExecStart=/root/.getTempNvme.sh (code=exited, status=203/EXEC)
   Main PID: 4981 (code=exited, status=203/EXEC)

mai 27 09:43:28 P1-NVME systemd[1]: Started start script to get and transmit /dev/nvme0 disk temperature to /home/alain/.temp_nvme0.txt.
mai 27 09:43:28 P1-NVME systemd[4981]: get-nvme-temperature.service: Failed to execute command: Permission denied
mai 27 09:43:28 P1-NVME systemd[4981]: get-nvme-temperature.service: Failed at step EXEC spawning /root/.getTempNvme.sh: Permission denied
mai 27 09:43:28 P1-NVME systemd[1]: get-nvme-temperature.service: Main process exited, code=exited, status=203/EXEC
mai 27 09:43:28 P1-NVME systemd[1]: get-nvme-temperature.service: Failed with result 'exit-code'.
 



pourtant tout est bien fait :

sudo cat /root/.getTempNvme.sh



#!/bin/bash

# Started every 20 seconds by get-nvme-temperature.service

[[ $(smartctl -a /dev/nvme0) =~ Temperature:.*([0-9][0-9]).Celsius.*A ]] && echo ${BASH_REMATCH[1]} > /home/alain/.temp_nvme0.txt
 



sudo cat /etc/systemd/system/get-nvme-temperature.service



[Unit]
Description=start script to get and transmit /dev/nvme0 disk temperature to /home/alain/.temp_nvme0.txt

[Service]
ExecStart=/root/.getTempNvme.sh

[Install]
WantedBy=graphical.target multi-user.target
 



sudo cat /etc/systemd/system/get-nvme-temperature.timer



[Unit]
Description=start service to get and transmit /dev/nvme0 disk temperature to /home/alain/.temp_nvme0.txt

[Timer]
OnUnitInactiveSec=20s
AccuracySec=1us

[Install]
WantedBy=timers.target
 

Dernière modification par Debian Alain (27-05-2020 09:23:15)

En ligne

#23 27-05-2020 09:16:34

MicP
Membre
Inscription : 29-02-2016

Re : [résolu] script température nvme

… j'ai gaffé : …

C'est pas sûr,
on dirait que c'est le script qui a retourné une erreur.

Envoie moi le retour des lignes de commande suivantes :

systemctl cat get-nvme-temperature.timer

systemctl cat get-nvme-temperature.service

cat /root/.getTempNvme.sh

ls -l /root/.getTempNvme.sh

ls -l /home/alain/.temp_nvme0.txt

Dernière modification par MicP (27-05-2020 09:29:14)

Hors ligne

#24 27-05-2020 09:30:01

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-2-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : [résolu] script température nvme

systemctl cat get-nvme-temperature.timer



# /etc/systemd/system/get-nvme-temperature.timer
[Unit]
Description=start service to get and transmit /dev/nvme0 disk temperature to /home/alain/.temp_nvme0.txt

[Timer]
OnUnitInactiveSec=20s
AccuracySec=1us

[Install]
WantedBy=timers.target
 



systemctl cat get-nvme-temperature.service



# /etc/systemd/system/get-nvme-temperature.service
[Unit]
Description=start script to get and transmit /dev/nvme0 disk temperature to /home/alain/.temp_nvme0.txt

[Service]
ExecStart=/root/.getTempNvme.sh

[Install]
WantedBy=graphical.target multi-user.target

 



cat /root/.getTempNvme.sh


#!/bin/bash

# Started every 20 seconds by get-nvme-temperature.service

[[ $(smartctl -a /dev/nvme0) =~ Temperature:.*([0-9][0-9]).Celsius.*A ]] && echo ${BASH_REMATCH[1]} > /home/alain/.temp_nvme0.txt
 



ls -l /home/alain/.temp_nvme0.txt



-rw-r--r-- 1 root root 0 mai   27 09:15 /home/alain/.temp_nvme0.txt
 

En ligne

#25 27-05-2020 09:32:15

MicP
Membre
Inscription : 29-02-2016

Re : [résolu] script température nvme

J'ai trouvé !!!
################
C'est de ma faute :
################

j'avais oublié de mettre ça dans mon message :

chmod u+x /root/.getTempNvme.sh


Du coup, le script n'avait pas l'attribut exécutable,
ce qui a provoqué l'erreur signalée :

… ExecStart=/root/.getTempNvme.sh (code=exited, status=203/EXEC) …



Je corrige cet oubli de suite dans mon message.
tu peux lancer cette ligne de commande :

chmod u+x /root/.getTempNvme.sh

et lancer ensuite un :

systemctl start get-nvme-temperature.timer

EDIT : Mais cette dernière ligne de commande n'était pas nécessaire…

=======
Maintenant, pour bien faire,
il me faut trouver comment faire pour que les logs ne se remplissent pas
suite à l'exécution de ce service...

Dernière modification par MicP (27-05-2020 20:31:50)

Hors ligne

Pied de page des forums