temp.sh: Script nuevo
Script que sirve para monitorizar temperatura del procesador
This commit is contained in:
parent
08cfa83fe9
commit
8dbaf6c412
|
@ -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 New Issue