From cc0c78e3e487fedd2ebb99866ce252af3844704a Mon Sep 17 00:00:00 2001 From: StalkR Date: Tue, 9 Jul 2013 19:50:36 +0200 Subject: [PATCH] nut (network ups tools) conf and scripts --- nut/upssched-cmd.sh | 17 ++++++++--------- nut/upssched.conf | 28 ++++++++++++---------------- 2 files changed, 20 insertions(+), 25 deletions(-) diff --git a/nut/upssched-cmd.sh b/nut/upssched-cmd.sh index 5a56543..377f894 100755 --- a/nut/upssched-cmd.sh +++ b/nut/upssched-cmd.sh @@ -3,22 +3,21 @@ main() { local ups timer host to - ups=${1%%_*} - timer=${1#*_} - host=$(hostname) + ups=$UPSNAME + host=$(hostname -s) to=root - case "$timer" in + case "$1" in "fsd") date | mail -s "[$ups@$host] Forced shutdown" $to - shutdown ;; + do_shutdown ;; "onbatt") date | mail -s "[$ups@$host] Power lost, running on battery" $to touch /var/run/nut/onbatt ;; "onbatt-toolong") date | mail -s "[$ups@$host] Too long on battery, forcing shutdown" $to touch /var/run/nut/onbatt-toolong - shutdown ;; + do_shutdown ;; "online") date | mail -s "[$ups@$host] Power is back" $to rm -f /var/run/nut/onbatt /var/run/nut/onbatt-toolong ;; @@ -27,7 +26,7 @@ main() { "commok") date | mail -s "[$ups@$host] Communications OK" $to ;; "commbad") - date | mail -s "[$ups@$host] Communications lost" $to ;; + date | mail -s "[$ups@$host] Communications lost" $to ;; "shutdown") date | mail -s "[$ups@$host] System being shutdown" $to ;; "replbatt") @@ -41,9 +40,9 @@ main() { esac } -shutdown() { +do_shutdown() { ssh -i /etc/nut/shutdown.key root@othermachine halt - /sbin/upsmon -c fsd + upsmon -c fsd } if [[ "${BASH_SOURCE[0]}" = "$0" ]]; then diff --git a/nut/upssched.conf b/nut/upssched.conf index 67932e7..8a13e89 100644 --- a/nut/upssched.conf +++ b/nut/upssched.conf @@ -5,23 +5,19 @@ LOCKFN /var/run/nut/upssched.lock # Syntax: AT notifytype upsname command -# We choose command format: _ -# so it can be parsed in CMDSCRIPT. - -# myups -AT ONLINE myups EXECUTE myups_online -AT ONBATT myups EXECUTE myups_onbatt -AT LOWBATT myups EXECUTE myups_lowbatt -AT FSD myups EXECUTE myups_fsd -AT COMMOK myups EXECUTE myups_commok -AT COMMBAD myups EXECUTE myups_commbad -AT SHUTDOWN myups EXECUTE myups_shutdown -AT REPLBATT myups EXECUTE myups_replbatt -AT NOCOMM myups EXECUTE myups_nocomm -AT NOPARENT myups EXECUTE myups_noparent +AT ONLINE myups EXECUTE online +AT ONBATT myups EXECUTE onbatt +AT LOWBATT myups EXECUTE lowbatt +AT FSD myups EXECUTE fsd +AT COMMOK myups EXECUTE commok +AT COMMBAD myups EXECUTE commbad +AT SHUTDOWN myups EXECUTE shutdown +AT REPLBATT myups EXECUTE replbatt +AT NOCOMM myups EXECUTE nocomm +AT NOPARENT myups EXECUTE noparent # Start a timer that will execute when UPS is on battery for 30 seconds. -AT ONBATT myups START-TIMER myups_onbatt-toolong 30 +AT ONBATT myups START-TIMER onbatt-toolong 30 # Stop if power is back. -AT ONLINE myups CANCEL-TIMER myups_onbatt-toolong +AT ONLINE myups CANCEL-TIMER onbatt-toolong # repeat for other UPSes