temp.sh: Script nuevo
Script que sirve para monitorizar temperatura del procesador
This commit is contained in:
parent
08cfa83fe9
commit
8dbaf6c412
1 changed files with 55 additions and 0 deletions
55
varios/temp.sh
Normal file
55
varios/temp.sh
Normal file
|
@ -0,0 +1,55 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# v0.1 - 15/09/2023
|
||||
#
|
||||
# Script que calcula la temperatura promedio del procesador leyendo la información
|
||||
# disponible en el directorio /sys/class, esta información es proporcionada por
|
||||
# el kernel.
|
||||
# El script realiza los cálculos apoyándose de herramientas del sistema y builtin
|
||||
# del shell.
|
||||
#
|
||||
# Dependencias: cat bc
|
||||
#
|
||||
# Shell: POSIX compliant
|
||||
# Autor: O. Sánchez <o-sanchez@linuxmail.org>
|
||||
|
||||
# Directorio base donde se encuentran los archivos "temp"
|
||||
base_dir="/sys/class/thermal"
|
||||
|
||||
# Inicializar variables para la suma y el contador
|
||||
suma=0
|
||||
contador=0
|
||||
|
||||
# Iterar sobre los directorios "thermal_zone*"
|
||||
for dir in "$base_dir"/thermal_zone*; do
|
||||
if [ -d "$dir" ]; then
|
||||
# Verificar si el archivo "temp" existe en el directorio
|
||||
temp_file="$dir/temp"
|
||||
if [ -f "$temp_file" ]; then
|
||||
# Leer el contenido del archivo "temp" y agregarlo a la suma
|
||||
temp_value=$(cat "$temp_file")
|
||||
suma=$((suma + temp_value))
|
||||
contador=$((contador + 1))
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Calcular el promedio en enteros
|
||||
if [ "$contador" -gt 0 ]; then
|
||||
promedio_enteros=$((suma / (contador * 1000)))
|
||||
|
||||
# Calcular el promedio en decimal (con decimales)
|
||||
promedio_decimal=$(echo "scale=2; $suma / ($contador * 1000)" | bc)
|
||||
|
||||
# Comprobar si el promedio tiene decimales y mostrarlo en consecuencia
|
||||
if [ "$promedio_enteros" -eq "$promedio_decimal" ]; then
|
||||
echo "${promedio_enteros##.*}"
|
||||
exit 0
|
||||
else
|
||||
echo "$promedio_decimal"
|
||||
exit 0
|
||||
fi
|
||||
else
|
||||
echo "No se encontraron archivos 'temp' en los directorios 'thermal_zone*'."
|
||||
exit 10
|
||||
fi
|
Loading…
Reference in a new issue