[Nut-upsuser] This guy must be an idiot
Leslie Rhorer
lrhorer at satx.rr.com
Sat May 30 02:33:50 UTC 2009
> -----Original Message-----
> From: 'Brother Railgun of Reason' [mailto:alaric at caerllewys.net]
> Sent: Friday, May 29, 2009 10:45 AM
> To: Leslie Rhorer
> Subject: Re: [Nut-upsuser] This guy must be an idiot
>
> On Fri, May 29, 2009 at 09:13:56AM -0500, Leslie Rhorer wrote:
> > > Are you certain your nut startup script is even actually being run?
> >
> > Not with absolute certainty, no.
> >
> > > This sounds like for some reason the system's never trying to run the
> > > script.
> >
> > 'Not really, since running the script manually has no effect, either.
>
> If running the script manually does nothing, the script's probably
> wrong.
Then why does it work perfectly on system number one?
> What does your startup script look like?
#! /bin/sh
### BEGIN INIT INFO
# Provides: nut
# Required-Start: $local_fs $syslog $network
# Required-Stop: $local_fs $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Network UPS Tools initscript
# Description: This script take care of starting and stopping the
# Network UPS Tools components. When needed, it also
# handle the UPS hardware shutdown.
### END INIT INFO
# Author: Arnaud Quette <aquette at debian.org>
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin
NAME=nut
DESC="Network UPS Tools"
DEFAULT=/etc/default/nut
. /lib/lsb/init-functions
[ -f $DEFAULT ] || exit 0
. $DEFAULT
pid_dir=/var/run/nut
upsmon_pid=${pid_dir}/upsmon.pid
upsd_pid=${pid_dir}/upsd.pid
upsd=/sbin/upsd
upsmon=/sbin/upsmon
log=">/dev/null 2>/dev/null"
# Check if /var/run/nut exists and has the correct perms
check_var_directory() {
[ ! -d ${pid_dir} ] && mkdir -p ${pid_dir} \
&& chown root:nut ${pid_dir} \
&& chmod 770 ${pid_dir}
}
start_stop_server () {
case "$START_UPSD" in
y|Y|yes|YES|Yes)
case "$1" in
start)
! /sbin/upsdrvctl start >/dev/null 2>&1 && \
log_progress_msg "(upsdrvctl failed)" || log_progress_msg
"upsdrvctl"
start-stop-daemon -S -q -p $upsd_pid -x $upsd \
-- $UPSD_OPTIONS >/dev/null 2>&1
;;
stop)
start-stop-daemon -K -o -q -p $upsd_pid -n upsd >/dev/null 2>&1
! /sbin/upsdrvctl stop >/dev/null 2>&1 && \
log_progress_msg "(upsdrvctl failed)" || log_progress_msg
"upsdrvctl"
;;
esac
;;
n|N|no|NO|No|*)
return 1
;;
esac
}
start_stop_client () {
case "$START_UPSMON" in
y|Y|yes|YES|Yes)
case "$1" in
start)
start-stop-daemon -S -q -p $upsmon_pid -x $upsmon \
-- $UPSMON_OPTIONS >/dev/null 2>&1
;;
stop)
start-stop-daemon -K -o -q -p $upsmon_pid -n upsmon >/dev/null
2>&1
;;
esac
;;
n|N|no|NO|No|*)
return 1
;;
esac
}
case "$1" in
start)
log_daemon_msg "Starting $DESC"
check_var_directory
start_stop_server start && log_progress_msg "upsd"
start_stop_client start && log_progress_msg "upsmon"
log_end_msg 0
;;
stop)
log_daemon_msg "Stopping $DESC"
start_stop_server stop && log_progress_msg "upsd"
start_stop_client stop && log_progress_msg "upsmon"
log_end_msg 0
;;
reload)
$upsd -c reload >/dev/null 2>&1
$upsmon -c reload >/dev/null 2>&1
;;
restart|force-reload)
log_daemon_msg "Restarting $DESC"
start_stop_client stop
start_stop_server stop
sleep 5
check_var_directory
start_stop_server start && log_progress_msg "upsd"
start_stop_client start && log_progress_msg "upsmon"
log_end_msg 0
;;
poweroff)
flag=`sed -ne 's#^ *POWERDOWNFLAG *\(.*\)$#\1#p' /etc/nut/upsmon.conf`
wait_delay=`sed -ne 's#^ *POWEROFF_WAIT= *\(.*\)$#\1#p'
/etc/default/nut`
if [ -f "$flag" ] ; then
if /sbin/upsmon -K >/dev/null 2>&1 ; then
log_daemon_msg "Shutting down the UPS ..."
sleep 1
if /sbin/upsdrvctl shutdown ; then
sleep 5
log_progress_msg "Waiting for UPS to cut the power"
log_end_msg 0
else
log_progress_msg "Shutdown failed."
log_progress_msg "Waiting for UPS batteries to run down"
log_end_msg 0
fi
if [ "$wait_delay" ] ; then
log_daemon_msg " (will reboot after $wait_delay) ..."
sleep "$wait_delay"
/etc/init.d/reboot stop
fi
else
log_daemon_msg "Power down flag is not set (UPS shutdown not
needed)"
fi
else
if [ -z "$flag" ] ; then
log_daemon_msg
"##########################################################"
log_progress_msg "## POWERDOWNFLAG is not defined in
/etc/nut/upsmon.conf ##"
log_progress_msg "##
##"
log_progress_msg "## Please read the Manual page upsmon.conf(5)
##"
log_progress_msg
"##########################################################"
log_end_msg 0
fi
fi
;;
*)
N=/etc/init.d/$NAME
log_daemon_msg "Usage" "$N
{start|stop|reload|restart|force-reload|poweroff}" >&2
log_end_msg 0
exit 1
;;
esac
exit 0
More information about the Nut-upsuser
mailing list