1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
#!/sbin/sh
#init.d script to start nut services
NUT_DIR="@prefix@"
NUT_SBIN_DIR="${NUT_DIR}/sbin"
NUT_LIB_DIR="${NUT_DIR}/lib"
CONFIG="@CONFPATH@/nut.conf"
# We anticipate some tighter integration with SMF later:
#NUT_QUIET_INIT_UPSNOTIFY=true
#export NUT_QUIET_INIT_UPSNOTIFY
if [ -f "$CONFIG" ] ; then
. "$CONFIG"
fi
ups_stop () {
pkill -n upsmon
pkill -n upsd
LD_LIBRARY_PATH="${NUT_LIB_DIR}:$LD_LIBRARY_PATH" "${NUT_SBIN_DIR}/upsdrvctl" stop > /dev/null 2>&1
}
ups_start () {
if [ "$MODE" = "none" ];then
echo "No NUT mode set, not starting anything" >&2
exit 1
fi
if [ "$MODE" != "netclient" ] ; then
LD_LIBRARY_PATH="${NUT_LIB_DIR}:$LD_LIBRARY_PATH" "${NUT_SBIN_DIR}/upsdrvctl" start #> /dev/null 2>&1
LD_LIBRARY_PATH="${NUT_LIB_DIR}:$LD_LIBRARY_PATH" "${NUT_SBIN_DIR}/upsd" #> /dev/null 2>&1
fi
LD_LIBRARY_PATH="${NUT_LIB_DIR}:$LD_LIBRARY_PATH" "${NUT_SBIN_DIR}/upsmon" #> /dev/null 2>&1
}
case $1 in
'start')
ups_start
;;
'stop')
ups_stop
;;
'restart')
ups_stop
while pgrep upsd > /dev/null
do
sleep 1
done
ups_start
;;
'poweroff')
LD_LIBRARY_PATH="${NUT_LIB_DIR}:$LD_LIBRARY_PATH" "${NUT_SBIN_DIR}/upsmon" -K >/dev/null 2>&1
if [ $? = 0 ]; then
echo "Shutting down the UPS(es) ..."
echo "WARNING: UPS shutdown is currently disabled, please uncomment it in the init-script if desired" >&2
#${NUT_SBIN_DIR}/upsdrvctl shutdown
fi
;;
*)
echo ""
echo "Usage: '$0' {start | stop | restart }"
echo ""
exit 64
;;
esac
exit $?
|