
-
获取硬盘扩展背板散热情况
查看背板设备路径
lsscsi -g | grep enclosu
查看背板温度
sg_ses --page=ec /dev/sg25 | grep Temperature
查看风扇转数
sg_ses --page=ec /dev/sg25 | grep -A6 -i cooling
查看告警和临界温度
执行查看阈值页的命令,在回显中可以看到“高温临界阈值”和“高温告警阈值”。
sg_ses --page=th /dev/sg25

脚本文件
自动获取设备路径并打印芯片型号、当前温度、阈值温度和风扇状态。
#!/bin/bash # 颜色定义 RED='\033[0;31m' GREEN='\033[0;32m' NC='\033[0m' # 无颜色 enclosures=$(lsscsi -g | grep "enclosu" | awk '{print $NF}') echo "=========================================================" echo " 背板设备状态监控报告 " echo "=========================================================" for dev in $enclosures; do echo -e "\n[设备路径]: ${GREEN}$dev${NC}" # 1. 芯片型号 info=$(sg_inq "$dev" | grep -E "Vendor|Product|Revision" | awk -F: '{print $2}' | xargs) echo ">> 芯片型号: $info" echo "---------------------------------------------------------" # 2. 当前温度 echo -n ">> 当前温度: " temp=$(sg_ses --page=ec "$dev" | grep "Temperature=" | awk -F'=' '{print $2}' | xargs) echo -e "${GREEN}$temp${NC}" # 3. 阈值设定 (仅保留摄氏度相关的数值) echo ">> 阈值设定: " sg_ses --page=th "$dev" | grep "high" | grep -v "<res>" | grep -v "%" | sed 's/^[[:space:]]*//' # 4. 风扇状态 (增加异常标红逻辑) echo -e "\n>> 风扇状态 (Cooling):" fan_data=$(sg_ses --page=ec "$dev" | grep -A6 -i "cooling" | grep -E "Actual speed|status|Element" | sed 's/^[[:space:]]*//') # 如果状态包含 Critical 或 Non-critical,则标红显示 echo "$fan_data" | while read -r line; do if [[ $line == *"status: Critical"* || $line == *"status: Non-critical"* ]]; then echo -e "${RED}$line${NC}" else echo "$line" fi done echo -e "\n=========================================================" done

