[Nut-upsuser] Shutdown problem with Geek Squad GS1285U
Gary Redden
redden at skybest.com
Thu Feb 8 17:52:31 CET 2007
Peter:
I created S89ups-shutdown because the halt script is a no-op see the
attached file. Also on the I went to the Ubuntu site to look up the
functions of the other scripts in rc0.d. It said not to mess with halt
and this was an easy way to remove the change if I had to. I am going to
make the correction you suggested and test now. It takes 2 hours for the
battery to run down so testing is not easy. I tried to set the low
battery to a higher number but the UPS only accepts 600 seconds as the
highest time.
gary at redden-p700-610:~$ cat /etc/init.d/halt
#! /bin/sh
### BEGIN INIT INFO
# Provides: halt
# Required-Start: umountroot
# Required-Stop:
# Should-Start: lvm raid2
# Should-Stop:
# Default-Start: 0
# Default-Stop:
# Short-Description: Execute the halt command.
# Description:
### END INIT INFO
PATH=/usr/sbin:/usr/bin:/sbin:/bin
[ -f /etc/default/halt ] && . /etc/default/halt
. /lib/lsb/init-functions
do_stop () {
if [ "$INIT_HALT" = "" ]
then
case "$HALT" in
[Pp]*)
INIT_HALT=POWEROFF
;;
[Hh]*)
INIT_HALT=HALT
;;
*)
INIT_HALT=POWEROFF
;;
esac
fi
# See if we need to cut the power.
if [ "$INIT_HALT" = "POWEROFF" ] && [ -x /etc/init.d/ups-monitor ]
then
/etc/init.d/ups-monitor poweroff
fi
# Don't shut down drives if we're using RAID.
hddown="-h"
if grep -qs '^md.*active' /proc/mdstat
then
hddown=""
fi
# If INIT_HALT=HALT don't poweroff.
poweroff="-p"
if [ "$INIT_HALT" = "HALT" ]
then
poweroff=""
fi
log_action_msg "Will now halt"
sleep 1
halt -d -f -i $poweroff $hddown
}
case "$1" in
start)
# No-op
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
exit 3
;;
stop)
do_stop
;;
*)
echo "Usage: $0 start|stop" >&2
exit 3
;;
esac
:
gary at redden-p700-610:~$
Peter Selinger wrote:
> I am not sure why you created a file S89ups-shutdown. You were
> supposed to edit init.d/halt. There is usually more stuff in
> init.d/halt besides shutting off the power, and you really want to
> make sure that that stuff is called before you turn off the UPS (which
> turns off your computer).
>
> The reason it's not working is probably that you forgot a "/" in front
> of /usr/local/ups/etc/upsmon.conf. You should also make sure that is
> the correct location of your upsmon.conf.
>
> -- Peter
>
> Gary Redden wrote:
>
>> I am still not able to get the UPS to shutdown. Here is a list of rc0.d
>> and the file I created to shutdown the UPS after umountroot mounts the
>> filesystem read-only and before halt (halt seems to be a no op here. No
>> code under the start case).
>>
>> gary at redden-p700-610:~$ cd /etc/rc0.d
>> gary at redden-p700-610:/etc/rc0.d$ ls -l
>> total 4
>> lrwxrwxrwx 1 root root 13 2007-01-26 11:13 K01gdm -> ../init.d/gdm
>> lrwxrwxrwx 1 root root 17 2007-01-26 11:13 K01usplash -> ../init.d/usplash
>> lrwxrwxrwx 1 root root 17 2007-01-26 11:58 K19camserv -> ../init.d/camserv
>> lrwxrwxrwx 1 root root 15 2007-01-26 11:13 K19hplip -> ../init.d/hplip
>> lrwxrwxrwx 1 root root 15 2007-01-28 17:43 K19samba -> ../init.d/samba
>> lrwxrwxrwx 1 root root 14 2007-01-26 11:13 K20dbus -> ../init.d/dbus
>> lrwxrwxrwx 1 root root 13 2007-01-26 11:57 K20nut -> ../init.d/nut
>> lrwxrwxrwx 1 root root 21 2007-02-01 13:05 K20ups-monitor ->
>> ../init.d/ups-monitor
>> lrwxrwxrwx 1 root root 20 2007-01-26 11:13 K25hwclock.sh ->
>> ../init.d/hwclock.sh
>> lrwxrwxrwx 1 root root 20 2007-01-26 11:13 K50alsa-utils ->
>> ../init.d/alsa-utils
>> lrwxrwxrwx 1 root root 17 2007-01-26 11:52 K91apache2 -> ../init.d/apache2
>> -rw-r--r-- 1 root root 355 2006-10-06 07:34 README
>> lrwxrwxrwx 1 root root 41 2007-01-26 11:13
>> S01linux-restricted-modules-common ->
>> ../init.d/linux-restricted-modules-common
>> lrwxrwxrwx 1 root root 22 2007-01-26 11:13 S15wpa-ifupdown ->
>> ../init.d/wpa-ifupdown
>> lrwxrwxrwx 1 root root 18 2007-01-26 11:13 S20sendsigs ->
>> ../init.d/sendsigs
>> lrwxrwxrwx 1 root root 17 2007-01-26 11:13 S30urandom -> ../init.d/urandom
>> lrwxrwxrwx 1 root root 22 2007-01-26 11:13 S31umountnfs.sh ->
>> ../init.d/umountnfs.sh
>> lrwxrwxrwx 1 root root 18 2007-01-26 11:13 S40umountfs ->
>> ../init.d/umountfs
>> lrwxrwxrwx 1 root root 20 2007-01-26 11:13 S60umountroot ->
>> ../init.d/umountroot
>> lrwxrwxrwx 1 root root 22 2007-02-07 15:29 S89ups-shutdown ->
>> ../init.d/ups-shutdown
>> lrwxrwxrwx 1 root root 14 2007-01-26 11:13 S90halt -> ../init.d/halt
>> gary at redden-p700-610:/etc/rc0.d$ cd /etc/init.d
>> gary at redden-p700-610:/etc/init.d$ cat ups-shutdown
>> #! /bin/sh
>> #
>> # nut - Script to Shutdown UPS if line power is lost & low battery
>>
>> PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin
>> NAME=ups-shutdown
>> DESC="UPS Shutdown"
>> DEFAULT=/etc/default/nut
>>
>> [ -f $DEFAULT ] || exit 0
>> . $DEFAULT
>>
>> upsdrvctl=/usr/local/ups/bin/upsdrvctl
>> log=">/dev/null 2>/dev/null"
>>
>> case "$1" in
>>
>> start)
>> echo -n "Starting $DESC:"
>> flag=`sed -ne 's#^ *POWERDOWNFLAG *\(.*\)$#\1#p'
>> usr/local/ups/etc/upsmon.conf`
>> wait_delay=`sed -ne 's#^ *POWEROFF_WAIT= *\(.*\)$#\1#p'
>> /etc/default/nut`
>> if [ -f "$flag" ] ; then
>> if [ $upsdrvctl shutdown >/dev/null ] ; then
>> echo -n "Waiting for UPS to cut the power"
>> sleep 5
>> else
>> echo "Shutdown failed."
>> echo -n "Waiting for UPS batteries to run down"
>> sleep 10
>> fi
>> if [ "$wait_delay" ] ; then
>> echo " (will reboot after $wait_delay) ..."
>> sleep "$wait_delay"
>> /etc/init.d/reboot
>> fi
>> else
>> echo "Power down flag is not set (UPS shutdown not needed)"
>> fi
>>
>> ;;
>>
>> stop)
>> ;;
>>
>> *)
>> N=/etc/init.d/$NAME
>> echo "Usage: $N {start|stop}" >&2
>> exit 1
>> ;;
>>
>> esac
>>
>> exit 0
>> gary at redden-p700-610:/etc/init.d$
>>
>>
>> _______________________________________________
>> Nut-upsuser mailing list
>> Nut-upsuser at lists.alioth.debian.org
>> http://lists.alioth.debian.org/mailman/listinfo/nut-upsuser
>>
>>
>
>
>
More information about the Nut-upsuser
mailing list