目前我正在使用lm_sensors从我的服务器获取温度信息。我想运行一个每5分钟运行lm_sensors的cron作业,获取温度数据并将其放入CSV文件中。但是,我对如何解析lm_sensors输出感到茫然。我想用Python或bash解析它,因为它们是我最舒服的语言。我将粘贴lm_sensors命令的当前输出作为我正在使用的数据的示例。如果有人能指出我如何剥离数据的正确方向,我可以从那里找出其余部分。谢谢你的帮助。
示例输出:
$ sensors
k10temp-pci-00c3
Adapter: PCI adapter
temp1: +0.0°C (high = +70.0°C, crit = +90.0°C)
atk0110-acpi-0
Adapter: ACPI interface
Vcore Voltage: +1.42 V (min = +0.85 V, max = +1.70 V)
+3.3 Voltage: +3.38 V (min = +2.97 V, max = +3.63 V)
+5 Voltage: +4.95 V (min = +4.50 V, max = +5.50 V)
+12 Voltage: +12.48 V (min = +10.20 V, max = +13.80 V)
CPU FAN Speed: 1510 RPM (min = 600 RPM)
CHASSIS FAN Speed: 1683 RPM (min = 600 RPM)
CPU Temperature: +37.0°C (high = +60.0°C, crit = +95.0°C)
MB Temperature: +25.0°C (high = +45.0°C, crit = +75.0°C)
答案 0 :(得分:3)
答案 1 :(得分:2)
使用-u开关运行传感器,用于原始输出。你会得到这样的东西:
Adapter: PCI adapter
power1:
power1_input: 21.950
power1_crit: 124.947
f71889a-isa-0480
Adapter: ISA adapter
+3.3V:
in0_input: 3.264
in1:
in1_input: 0.968
in1_max: 2.040
如您所见,硬件传感器返回的实际值将以sensor_input
形式的字符串标记。从那里开始,将所需的值放入脚本中应该相当容易,比如每秒钟监控传感器的单行脚本:
#!/bin/sh
watch -n 1 "sensors -u | sed -n 's/_input//p'"
答案 2 :(得分:1)