slackbuilds/system/nut/rc.ups

74 lines
1.6 KiB
Bash

#!/bin/sh
# Slackware startup script for Network UPS Tools
# Copyright 2010 V'yacheslav Stetskevych
# UPS drivers live here
DRIVERPATH=/usr/libexec/nut
export PATH=$DRIVERPATH:$PATH
POWERDOWNFLAG=/etc/killpower
NUTUSER=nut
NUTGROUP=nut
UPSDCONF=/etc/ups/upsd.conf
UPSCONF=/etc/ups/ups.conf
UPSMONCONF=/etc/ups/upsmon.conf
# Check for existense of the nut user and group
# For slackbuilds.org, assigned nut uid/gid are 218/218.
# See http://slackbuilds.org/uid_gid.txt
if ! grep -q ^$NUTGROUP: /etc/group; then
echo " You must have a \"$NUTGROUP\" group to run this script."
echo " # groupadd -g 218 $NUTGROUP"
exit 1
elif ! grep -q ^$NUTUSER: /etc/passwd; then
echo " You must have a \"$NUTUSER\" user to run this script."
echo " # useradd -u 218 -g $NUTGROUP -s /bin/false $NUTUSER"
exit 1
fi
start_driver() {
upsdrvctl -u $NUTUSER start || exit 1
}
start_upsd() {
upsd -u $NUTUSER || exit 1
}
start_upsmon() {
upsmon -u $NUTUSER || exit 1
}
stop() {
echo "Stopping the UPS services... "
if pgrep upsd 2>&1 >/dev/null; then
upsd -c stop; fi
if pgrep upsmon 2>&1 >/dev/null; then
upsmon -c stop; fi
upsdrvctl stop
}
case "$1" in
start) # starts everything (for a ups server box)
start_driver
start_upsd
start_upsmon
;;
start_upsmon) # starts upsmon only (for a ups client box)
start_upsmon
;;
stop) # stops all UPS-related daemons
stop
;;
shutdown) # shuts down the UPS
echo "Killing inverter..."
upsdrvctl shutdown
;;
reload)
echo "Reloading config files..."
upsd -c reload
upsmon -c reload
;;
*)
echo "Usage: $0 {start|start_upsmon|stop|shutdown|reload}"
esac