APC Access Temperature Query and Conversion. (1 of 2)
This week I present to you; dearest reader part of a script I wrote to monitor the temperature on APC brand UPS’s. The script requires the apcupsd package to be installed and properly configured.
Here is the script:
#!/bin/bash f () { echo $(echo "($(/usr/sbin/apcaccess | grep ITEMP | cut -d : -f 2 | cut -d \ -f 2)*1.8)+32" | bc); } c () { echo "$(/usr/sbin/apcaccess | grep ITEMP | cut -d : -f 2 | cut -d \ -f 2)" } case "$1" in c) c ;; f) f ;; b) echo "$(/usr/sbin/apcaccess | grep ITEMP | cut -d : -f 2 | cut -d \ -f 2)" C echo $(echo "($(/usr/sbin/apcaccess | grep ITEMP | cut -d : -f 2 | cut -d \ -f 2)*1.8)+32" | bc) F; ;; *) echo $"Usage $0 {f|c|b}" ;; esac |
The script uses basic bash, grep, cut and bc. It requires only one input, and that is f, c or b. f for Fahrenheit, c for Celsius and b for both. The second part of the script is a cron, with some more basic bash. It write a log and e-mails me if the temperature goes over a certain threshold, and it e-mails me again once the temperature has been resumed. I will post the cron script next week as it is a major portion. The tricky part of the cron was making it e-mail me only once.
Until next time, Happy Scripting!