Got some extreme warm weather coming and I’m going to be out of town for a while. Can’t trust the inlaws staying here to do anything server related.
Anyone know of a plugin or script to automatically shutdown if the system temp is too high?
I know it’s possible to get the system temperature from
sensors
. Which gets the info from/sys/class/thermal
You could probably write a wrapper around the temperature from there and when it gets to 100? Perform a shutdown
There are a few ways to do it, but the easiest is to run the ‘sensors’ command from the lm_sensors package, but I prefer the simplicity of the acpi command
For example,
[fedora ~]$ acpi -t Thermal 0: ok, 20.0 degrees C
So you could do:
#!/usr/bin/bash if [ $(acpi -t | cut -d" " -f4 | cut -d"." -f1) -gt 80 ]; then # halt? shutdown? reboot? It's up to you. fi
The second way is to use your BIOS settings to see if you can adjust the trip temperature. On my system,
[fedora ~]# sensors
<snip> acpitz-acpi-0 Adapter: ACPI interface temp1: +20.0°C (crit = +110.0°C) <snip>
which means the system will auto-shutdown at 110.0 degrees.
You can see that this happens at https://elixir.bootlin.com/linux/latest/source/drivers/thermal/thermal_core.c#L316
The best option is likely creating a script in user scripts as you can tune that as you please. Having a quick look on Unraid, there may be an option: https://forums.unraid.net/topic/39111-feature-request-perform-a-clean-shutdown-if-disk-reaches-critical-temp/?do=findComment&comment=898761