我的服务器支持IPMI,所以我可以运行这样的脚本:
fanspeed() {
# 0 C => 10, 55 C => 10, 65 C => 100
sensors -j |
jq '[.[]["temp1"]["temp1_input"]] |
(max-55)*(100/(65-55)) |
if . < 10 then 10 else if . > 100 then 100 else .|floor end end';
}
autofan() {
setspeed() {
ipmitool -I lanplus -H drac -U root -P password raw 0x30 0x30 0x02 0xff $@
}
while true; do
fanspeed=`fanspeed`
printf "$fanspeed "$(setspeed $fanspeed)
sleep 1
done
}当CPU温度>55C时,保持CPU温度<65C。
但这听起来像是fancontrol的工作。fancontrol能用IPMI来控制风扇吗?
发布于 2022-05-11 13:21:52
我在crontab中的灰脚本每分钟都是这样的:(TODO日志)
#!/bin/ash
t='ipmitool -I lanplus -H drac -U root -P password '
f=' raw 0x30 0x30 0x02 0xff '
$t raw 0x30 0x30 0x01 0x00 # stop auto fan
TEMP=$(${t} sdr type temperature |tee /dev/tty |awk '{print $(NF-2)}' |sort -n |tail -1)
echo max TEMP=$TEMP
[ $TEMP -gt 65 ] && $t $f 0x2a || ( [ $TEMP -gt 55 ] && $t $f 0x1f ) || $t $f 0x0f例如,超过65台风扇0x2a,超过55台风扇0x1f,其他0x0f
https://unix.stackexchange.com/questions/614866
复制相似问题