Como desligar o macOS / mac OSX do cliente Network UPS Tools - NUT

Como desligar o macOS / mac OSX do cliente Network UPS Tools - NUT

Estou procurando ajuda para desligar meu iMac ao detectar uma falha de energia durante o funcionamento de um no-break.

Minha configuração é um UPS APC SMT750i, alimentando dois Synology NASs e um iMac mais o kit de rede (roteador, switch etc.). Está tudo bem. Synology executa uma variante do Linux e NUT. Instalei o NUT (v 2.6.5) no iMac (High Sierra 10.13.6) usando MacPorts. Um NAS é conectado diretamente ao UPS via USB e atua como 'mestre' na rede NUT, o outro NAS e o iMac são 'escravos'.

Em caso de falha de energia, o mestre detecta o estado do UPS e transmite-o aos escravos, que ambos recebem OK. Os NASs entram no 'modo de segurança' corretamente conforme estão configurados para isso. O iMac recebe a mudança de estado OK e alerta repetidamente o usuário logado,mas de fato NÃO desliga, como eu quero e acredito que configurei para fazer.

Segui todos os conselhos que posso encontrar online, especialmente em:

https://networkupstools.org/

Como iniciar automaticamente o cliente NUT na inicialização do MacOS

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

O que estou fazendo de errado?

Arquivos de configuração do 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/upsched-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

Responder1

Minha solução para essa dor de cabeça que realmente funcionou na minha configuração.

UPS1 - UPS cyberpower de 800 watts com os seguintes dispositivos conectados

  • Item da lista Synology diskstation
  • Listar item 8 switch/hub
  • Gateway de item de lista

UPS2 - Cyber-power 300 watts ups com os seguintes dispositivos conectados

  • Item da lista Disco rígido externo Time-machine
  • Item da lista Mac Mini

Aqui está a ideia.

O UPS1 será conectado à estação de disco Synology com as opções Ativar suporte UPS - Então, o tempo antes da estação de disco entrar no modo de segurança, que coloco 5 minutos por padrão - depois no segundo UPS2 que está conectado ao UPS1 ao meu Mac mini com as opções definidas se o UPS1 esgotar as baterias, a bateria USP2 será ligada e, em seguida, configure o mac mini para desligar, etc. ou você pode simplesmente adicionar USP1 e UPS2 em seu soquete independente e ditar as configurações a partir daí também.

informação relacionada