目前我正在使用lm_sensors从我的服务器上获取温度信息。我想运行一个cron作业,它每五分钟运行一次lm_sensors,获取温度数据并将其放入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)发布于 2013-02-10 15:23:55
如果你想使用Python,那就使用PySensors,但千万不要重复发明轮子。设置任意数量的监控系统,如cacti、munin和others,并完成它。
发布于 2015-08-13 12:08:52
使用-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'"发布于 2013-02-10 15:22:29
使用grep只获取所需的行,然后使用cut获取所需的字段。
或者是一个简单的awk脚本。
https://stackoverflow.com/questions/14795568
复制相似问题