From f3c79440a91986101401d2a7007ea910774c64a3 Mon Sep 17 00:00:00 2001 From: Per Cederqvist <ceder@lysator.liu.se> Date: Wed, 23 Feb 2011 08:45:17 +0000 Subject: [PATCH] Handle multiple drive output from hddtemp. Barf if non-celsius. --- check_hddtemp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/check_hddtemp b/check_hddtemp index 62c31ae..0747515 100755 --- a/check_hddtemp +++ b/check_hddtemp @@ -32,12 +32,17 @@ def check_hddtemp(host, drive, warn, crit): s.close() for drive_desc in res.split('||'): drive_info = drive_desc.split('|') - drv_name = drive_info[1] - drv_type = drive_info[2] - drv_temp = int(drive_info[3]) - drv_unit = drive_info[4] # C or F + if len(drive_info) == 5 and drive_info[0] == "": + drive_info = drive_info[1:] + drv_name = drive_info[0] + drv_type = drive_info[1] + drv_temp = int(drive_info[2]) + drv_unit = drive_info[3] # C or F if drv_name != drive: continue + if drv_unit != "C": + print "UNKNOWN - drive uses F, not C" + sys.exit(3) if drv_temp >= crit: print "CRITICAL -", drv_temp, "C | temp=%d" % drv_temp sys.exit(2) -- GitLab