From: Walter Dnes <waltdnes@waltdnes.org>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] Suggestions for Gentoo-compatable UPS; stores around Toronto??
Date: Sun, 18 Aug 2024 11:52:05 -0400 [thread overview]
Message-ID: <MTAwMDAzMi53ZG5lc2RheQ.1723996320@quikprotect> (raw)
In-Reply-To: <84993af5-6bd9-f91c-60e2-78f60e91cc18@gmail.com>
On Sun, Aug 18, 2024 at 07:00:52AM -0500, Dale wrote
> Walter Dnes wrote:
> > My current manual hibernation script is...
> >
> > #!/bin/bash
> > sync
> > sudo /usr/sbin/hibernate
> The one thing I wish I could figure out how to set up, once power
> is lost, wait 2 minutes, maybe 5 minutes, then power off even if
> the battery still has lots of power left.
I asked Mr. Google. APCUPSD has an ONBATTERDELAY command that does
something only if the battery is in use (i.e. AC power is off) for at
least a certain specified length of time..
> P. S. Your little script looks like something I'd come up with. Simple
> but works. ;-) LOL
The solution for NUT appears to be to launch a countdown script rather
than do an immediate kill. The examples I saw were exceedingly complex,
designed to handle all sorts of outlier cases. Here's the barebones
simplest I think you can get away with. It launches as soon as
ONBATTERY is detected. It has a main loop that runs up to 60 seconds
(i.e. "sleep 1" x 60). If it falls through the bottom of the loop
(counter = 0), it executes a "hibernate" (or "shutdown" if you prefer).
If if detects battery not in use (i.e. AC power back on) before
60 seconds, it'll exit entirely. ***WARNING*** I HAVE NOT TESTED THIS
CODE. I don't have a machine with a UPS running NUT
###################################################
in /etc/nut/upsmon.conf on client change to this
NOTIFYCMD "/etc/nut/countdown"
NOTIFYFLAG ONBATT EXEC
/etc/nut/countdown looks like so (counter = 60 ==> 60 seconds)
###################################################
#!/bin/bash
counter=60
while [ ${counter} -gt 0 ]
do
output=$(upsc qnapups@192.168.222.252 ups.status)
if echo "$output" | grep -q "OB"
then
sleep 1
counter--
else
exit
fi
done
/usr/sbin/hibernate
###################################################
NOTES:
* status output may change between versions
* adjust IP address as appropriate for your system
* make sure to mark the script executable
* you may have to set up and invoke sudo for "hibernate"
or "shutdown" if the NUT daemon is not root
--
There are 2 types of people
1) Those who can extrapolate from incomplete data
next prev parent reply other threads:[~2024-08-18 15:52 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-18 3:48 [gentoo-user] Suggestions for Gentoo-compatable UPS; stores around Toronto?? Walter Dnes
2024-08-18 12:00 ` Dale
2024-08-18 15:52 ` Walter Dnes [this message]
2024-08-18 19:11 ` Daniel Frey
2024-08-18 21:06 ` Dale
2024-08-19 0:27 ` Walter Dnes
2024-08-19 1:10 ` Dale
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=MTAwMDAzMi53ZG5lc2RheQ.1723996320@quikprotect \
--to=waltdnes@waltdnes.org \
--cc=gentoo-user@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox