Cómo apagar macOS/mac OSX desde el cliente Network UPS Tools - NUT

Cómo apagar macOS/mac OSX desde el cliente Network UPS Tools - NUT

Estoy buscando ayuda para apagar mi iMac al detectar un corte de energía mientras estoy funcionando desde un UPS.

Mi configuración es un UPS APC SMT750i, que alimenta dos Synology NAS y un iMac más el kit de red (enrutador, conmutador, etc.). Todo esto está bien. Synology ejecuta una variante de Linux y NUT. Instalé NUT (v 2.6.5) en el iMac (High Sierra 10.13.6) usando MacPorts. Un NAS está conectado directamente al UPS a través de USB y actúa como "maestro" en la red NUT, el otro NAS y el iMac son "esclavos".

En caso de corte de energía, el maestro detecta el estado del UPS y lo transmite a los esclavos, quienes lo reciben correctamente. Ambos NAS entran correctamente en "modo seguro" tal como están configurados para hacerlo. El iMac recibe el cambio de estado OK y alerta repetidamente al usuario que inició sesión,pero en realidad NO se apaga, como quiero y creo que lo he configurado para que lo haga.

He seguido todos los consejos que puedo encontrar online, especialmente en:

https://networkupstools.org/

Cómo iniciar automáticamente el cliente NUT al arrancar en MacOS

https://diktiosolutions.eu/es/synology/synology-ups-nut-es/

¿Qué estoy haciendo mal?

Archivos de configuración Mac NUT:

/etc/upsmon.conf

RUN_AS_USER root
MONITOR [email protected] 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  [email protected] EXECUTE      on-battery
AT ONLINE  [email protected] EXECUTE      ups-back-on-line
AT COMMBAD [email protected] START-TIMER  upsgone 75
AT COMMOK  [email protected] 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

Respuesta1

Mi solución a este dolor de cabeza que realmente funcionó para mi configuración.

UPS1: UPS Cyberpower de 800 vatios con los siguientes dispositivos conectados

  • Elemento de la lista Synology diskstation
  • Elemento de lista 8 conmutador/concentrador
  • Puerta de enlace de elementos de lista

UPS2 - Cyber-power de 300 vatios con los siguientes dispositivos conectados

  • Elemento de la lista Disco duro externo Time-machine
  • Elemento de lista Mac Mini

Aquí está la idea.

UPS1 se conectará a Synology diskstation con las opciones Habilitar soporte de UPS. Luego, el tiempo antes de que la estación de disco ingrese al modo seguro, que puse 5 minutos de forma predeterminada, luego en el segundo UPS2 que está conectado al UPS1 de mi Mac mini con las opciones configuradas. Si UPS1 agota las baterías, entonces la batería USP2 se encenderá y luego configurará el Mac mini para que se apague, etc. o simplemente puede agregar USP1 y UPS2 en su enchufe independiente y luego dictar la configuración desde allí también.

información relacionada