[Nut-upsuser] How to shutdown macOS / mac OSX from Network UPS Tools client - NUT
Joe Gervasio
joe at gervasio.co.uk
Sat Jun 8 19:08:03 BST 2019
Hi,
I’ve posted my question on Superuser.com but not had any replies in 2 weeks, so I guess no-one there knows anything about NUT.
https://superuser.com/questions/1441153/how-to-shutdown-macos-mac-osx-from-network-ups-tools-client-nut <https://superuser.com/questions/1441153/how-to-shutdown-macos-mac-osx-from-network-ups-tools-client-nut>
I’m looking for help in shutting down my iMac on detecting a power failure while running from a UPS.
My setup is an APC SMT750i UPS, powering two Synology NASs, an iMac, plus the network kit (router, switch etc.). This is all fine. (Synology runs a variant of Linux plus NUT). I have installed NUT (v 2.6.5) on the iMac (High Sierra 10.13.6) using MacPorts. One NAS is connected directly to the UPS via USB and acts as the ‘master’ in the NUT network, the other NAS and the iMac are ‘slaves’.
On power failure, the master detects the state of the UPS and broadcasts it to the slaves, which both receive it OK. The NASs both go into ‘safe mode’ correctly as they are configured to do. The iMac receives the state change OK and repeatedly alerts the logged in user, but does NOT in fact shut down, as I want and believe I have configured it to do.
I have followed all the advice I can find online, especially at:
https://networkupstools.org/ <https://networkupstools.org/>
https://superuser.com/questions/1228972/how-to-automatically-launch-nut-client-at-boot-on-macos <https://superuser.com/questions/1228972/how-to-automatically-launch-nut-client-at-boot-on-macos>
https://diktiosolutions.eu/en/synology/synology-ups-nut-en/ <https://diktiosolutions.eu/en/synology/synology-ups-nut-en/>
What am I doing wrong?
Mac NUT config files:
etc/upsmon.conf
RUN_AS_USER root
MONITOR ups at xxx.xxx.xxx.xxx 1 monuser ****** slave
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -u -h +1"
NOTIFYCMD /opt/local/sbin/upssched
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /etc/killpower
NOTIFYFLAG ONLINE EXEC+SYSLOG+WALL
NOTIFYFLAG ONBATT EXEC+SYSLOG+WALL
NOTIFYFLAG LOWBATT EXEC+SYSLOG+WALL
NOTIFYFLAG FSD EXEC+SYSLOG+WALL
NOTIFYFLAG COMMOK EXEC+SYSLOG
NOTIFYFLAG COMMBAD EXEC+SYSLOG
NOTIFYFLAG SHUTDOWN EXEC+SYSLOG+WALL
NOTIFYFLAG REPLBATT EXEC+SYSLOG+WALL
NOTIFYFLAG NOCOMM EXEC+SYSLOG+WALL
NOTIFYFLAG NOPARENT EXEC+SYSLOG+WALL
RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 5
etc/upssched.conf
CMDSCRIPT /opt/local/bin/upssched-cmd
PIPEFN /opt/local/var/db/ups/upssched/upssched.pipe
LOCKFN /opt/local/var/db/ups/upssched/upssched.lock
AT ONBATT ups at xxx.xxx.xxx.xxx EXECUTE on-battery
AT ONLINE ups at xxx.xxx.xxx.xxx EXECUTE ups-back-on-line
AT COMMBAD ups at xxx.xxx.xxx.xxx START-TIMER upsgone 75
AT COMMOK ups at xxx.xxx.xxx.xxx CANCEL-TIMER upsgone
bin/upssched-cmd
#! /bin/sh
case $1 in
upsgone)
logger -t upssched-cmd "Lost communication with UPS"
/usr/bin/osascript -e 'tell app (path to frontmost application as text) to display dialog "Lost contact with UPS server" buttons {"OK"} default button 1 with icon note'
;;
on-battery)
logger -t upssched-cmd "UPS is running on battery"
/usr/bin/osascript -e 'tell app "System Events" to display dialog "Power failure. Save your work" buttons {"OK"} default button 1'
;;
ups-back-on-line)
logger -t upssched-cmd "UPS is running on utility power"
/usr/bin/osascript -e 'tell app (path to frontmost application as text) to display dialog "Power restored to UPS" giving up after 600 buttons {"OK"} default button 1 with icon note'
;;
*)
logger -t upssched-cmd "Unrecognized command: $1"
/usr/bin/osascript -e "tell app (path to frontmost application as text) to display dialog \"upssched-cmd: unsupported command $1\" buttons {\"OK\"} default button 1 with icon caution"
;;
esac
iMac$ sudo /opt/local/sbin/upsmon -DDD
Network UPS Tools upsmon 2.6.5-Unversioned directory
kill: No such process
0.000000 UPS: ups at xxx.xxx.xxx.xxx (slave) (power value 1)
0.000319 Using power down flag file /etc/killpower
0.000603 debug level is '3'
0.004081 Trying to connect to UPS [ups at 192.168.86.242]
0.006152 Logged into UPS ups at xxx.xxx.xxx.xxx
0.006166 pollups: ups at xxx.xxx.xxx.xxx
0.006189 get_var: ups at xxx.xxx.xxx.xxx / status
0.006566 parse_status: [OL]
0.006590 parsing: [OL]
0.006596 ups_on_line: ups at xxx.xxx.xxx.xxx (first time)
0.006603 Current power value: 1
0.006608 Minimum power value: 1
5.007706 pollups: ups at xxx.xxx.xxx.xxx
5.007759 get_var: ups at xxx.xxx.xxx.xxx / status
5.008277 parse_status: [OL]
5.008296 parsing: [OL]
5.008305 Current power value: 1
5.008310 Minimum power value: 1
:
:
There’s nothing NUT/UPS related in the /var/logs AFAICS
Thanks for any help or advice
~Joe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/nut-upsuser/attachments/20190608/c3164fb7/attachment.html>
More information about the Nut-upsuser
mailing list