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:
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.