Son aktivite 1 month ago

Erreur32's Avatar Erreur32 bu gisti düzenledi 6 months ago. Düzenlemeye git

Değişiklik yok

Erreur32's Avatar Erreur32 bu gisti düzenledi 9 months ago. Düzenlemeye git

1 file changed, 137 insertions

check_temp_all.sh(dosya oluşturuldu)

@@ -0,0 +1,137 @@
1 + #!/usr/bin/env bash
2 + # =========================================================
3 + # Nom : check_temp_all.sh
4 + # Objet : Afficher les températures système en console
5 + #
6 + # Description :
7 + # Ce script affiche les températures système détectées
8 + # automatiquement via la commande `sensors` (lm-sensors)
9 + # et, si disponible, les températures NVMe et GPU.
10 + #
11 + # - Classe les températures par catégorie : CPU, Carte mère,
12 + # RAM, NVMe, GPU, et autres capteurs.
13 + # - Affiche en couleur avec icônes pour faciliter la lecture.
14 + # - Compatible avec `--raw` pour afficher la sortie brute
15 + # de `sensors`, et `--watch` pour rafraîchissement continu.
16 + #
17 + # - Parse automatiquement `sensors` (lm-sensors)
18 + # - Regroupe par catégories : CPU, Carte mère, RAM, NVMe, GPU, Autres
19 + # - Couleurs + emojis selon niveau de chauffe
20 + # - Supporte les formats +59.0°C et +59.0 C
21 + #
22 + # Niveaux visuels (pas encore implanter):
23 + # 🔵 < 30°C | 🟢 30–60°C | 🟡 60–80°C | 🔴 > 80°C
24 + #
25 + # Utilisation :
26 + # ./check_temp_all.sh → Affichage normal
27 + # ./check_temp_all.sh --raw → Sortie brute de `sensors`
28 + # ./check_temp_all.sh --watch → Rafraîchit toutes les 2s
29 + #
30 + # Prérequis :
31 + # - Linux (Debian/Proxmox/Ubuntu/…)
32 + # - lm-sensors installé et configuré (sudo sensors-detect)
33 + # - (Optionnel) nvidia-smi pour GPU NVIDIA
34 + # =========================================================
35 +
36 +
37 + set -euo pipefail
38 + LC_ALL=C
39 +
40 + # Couleurs
41 + RED="\033[1;31m"
42 + GREEN="\033[1;32m"
43 + YELLOW="\033[1;33m"
44 + CYAN="\033[1;36m"
45 + RESET="\033[0m"
46 + BOLD="\033[1m"
47 +
48 + show_help() {
49 + echo -e "${BOLD}Usage:${RESET} $0 [--raw] [--watch]"
50 + echo " --raw : Affiche la sortie brute de sensors"
51 + echo " --watch : Rafraîchit toutes les 2 secondes"
52 + echo " --help : Affiche cette aide"
53 + }
54 +
55 + print_section() {
56 + local title="$1"
57 + echo -e "\n${CYAN}--- $title ---${RESET}"
58 + }
59 +
60 + # Options
61 + RAW_MODE=false
62 + WATCH_MODE=false
63 + for arg in "$@"; do
64 + case "$arg" in
65 + --raw) RAW_MODE=true ;;
66 + --watch) WATCH_MODE=true ;;
67 + --help) show_help; exit 0 ;;
68 + *) echo -e "${RED}Option inconnue:${RESET} $arg"; exit 1 ;;
69 + esac
70 + done
71 +
72 + # Mode --raw
73 + if $RAW_MODE; then
74 + sensors
75 + exit 0
76 + fi
77 +
78 + collect_temps() {
79 + local sensors_out
80 + sensors_out="$(sensors 2>/dev/null || true)"
81 +
82 + echo -e "${BOLD}==== TEMPÉRATURES SYSTÈME (auto) ====${RESET}"
83 +
84 + # CPU
85 + print_section "CPU"
86 + cpu_lines=$(echo "$sensors_out" | grep -E 'Core [0-9]+:|Package id')
87 + if [[ -n "$cpu_lines" ]]; then
88 + echo "$cpu_lines" | awk -v G="$GREEN" -v R="$RESET" '{printf "🖥️ %-15s %s%s\n", $1" "$2, G $3, R}'
89 + else
90 + echo "(aucune donnée)"
91 + fi
92 +
93 + # Carte mère / chipset
94 + print_section "Carte mère"
95 + echo "$sensors_out" | grep -E 'CPUTIN|SYSTIN|PECI Agent 0' || echo "(aucune donnée)"
96 +
97 + # RAM
98 + print_section "RAM"
99 + echo "$sensors_out" | grep -i 'DIMM' || echo "(aucune donnée)"
100 +
101 + # NVMe via sensors
102 + print_section "NVMe"
103 + echo "$sensors_out" | awk '
104 + /^nvme-/ {dev=$1; next}
105 + /Composite/ {
106 + gsub(/\+|°C|C|,/,"",$2)
107 + printf "💾 %s : \033[1;32m%s°C\033[0m\n", dev, $2
108 + }
109 + ' || echo "(aucune donnée)"
110 +
111 + # GPU
112 + print_section "GPU"
113 + if command -v nvidia-smi &>/dev/null; then
114 + nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader | while read -r t; do
115 + echo "🎮 NVIDIA GPU : ${t}°C"
116 + done
117 + else
118 + echo "(aucune donnée)"
119 + fi
120 +
121 + # Autres capteurs
122 + print_section "Autres"
123 + echo "$sensors_out" | grep -i 'temp' | grep -Ev 'Core|Package|CPUTIN|SYSTIN|PECI|DIMM|Composite' || echo "(aucune donnée)"
124 +
125 + echo -e "${BOLD}=====================================${RESET}"
126 + }
127 +
128 + # Mode watch
129 + if $WATCH_MODE; then
130 + while true; do
131 + clear
132 + collect_temps
133 + sleep 2
134 + done
135 + else
136 + collect_temps
137 + fi
Daha yeni Daha eski