使用 Linux 获取硬盘温度信息

根据服务器的房间条件,了解服务器的硬盘驱动器温度可能很重要。
系统管理员可以使用 bash 和 cron 编写一个简单的脚本来警告突然的温度变化。
这样的脚本可以基于 inxi或者 hddtemp命令行工具。

现在使用 inxi工具,我们可以确定块设备 /dev/sda的硬盘温度:

# inxi -xD 
Drives:    HDD Total Size: 75.5GB (70.3% used) ID-1: /dev/sda model: HTS721060G9SA00 size: 60.0GB temp: 35C
           ID-2: USB /dev/sdb model: TransMemory size: 15.5GB temp: 0C

/dev/sda 的硬盘温度是 35C。
请注意,上述命令需要以 root 管理权限运行。
使用hddtemp命令可以实现相同的目的,但首先我们需要确定属于相关硬盘的块设备文件名。
这可以通过以下方式实现:

]$ lsscsi -g
[2:0:0:0]    disk    ATA      HTS721060G9SA00  MC3I  /dev/sda   /dev/sg0

接下来针对实际硬盘驱动器的块设备名称运行 hddtemp命令命令:

# hddtemp /dev/sda
/dev/sda: HTS721060G9SA00: 36°C

如果我们打算连接监控脚本以定期检查硬盘驱动器的温度,请使用以下脚本作为起点:

cat hdd-temp.sh 
#!/bin/bash
temperature=$(hddtemp /dev/sda | cut -d : -f3 | sed 's/[^0-9]*//g')
# REPORT when hard drive's temperature is above 50C
if [ $temperature -ge 50 ]; then
	echo "ALERT: hard drive's temperature is above: $temperature"
fi
日期:2020-07-07 20:57:05 来源:oir作者:oir