Skip to content

Commit

Permalink
nut (network ups tools) conf and scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
StalkR committed Jul 9, 2013
1 parent ab37146 commit cc0c78e
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 25 deletions.
17 changes: 8 additions & 9 deletions nut/upssched-cmd.sh
Expand Up @@ -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 ;;
Expand All @@ -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")
Expand All @@ -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
Expand Down
28 changes: 12 additions & 16 deletions nut/upssched.conf
Expand Up @@ -5,23 +5,19 @@ LOCKFN /var/run/nut/upssched.lock

# Syntax: AT notifytype upsname command

# We choose command format: <upsname>_<triggername>
# 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

0 comments on commit cc0c78e

Please sign in to comment.