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