Как выключить macOS / mac OSX из клиента Network UPS Tools - NUT

Как выключить macOS / mac OSX из клиента Network UPS Tools - NUT

Мне нужна помощь в выключении моего iMac при обнаружении сбоя питания при работе от ИБП.

Моя установка — это ИБП APC SMT750i, питающий два Synology NAS, iMac и сетевой комплект (маршрутизатор, коммутатор и т. д.). Все в порядке. Synology работает на одном из вариантов Linux и NUT. Я установил NUT (v 2.6.5) на iMac (High Sierra 10.13.6) с помощью MacPorts. Один NAS подключен напрямую к ИБП через USB и выступает в качестве «главного» в сети NUT, другой NAS и iMac являются «ведомыми».

При отключении питания главный определяет состояние ИБП и передает его подчиненным, которые оба получают его OK. Оба NAS-сервера переходят в «безопасный режим» правильно, как они настроены. iMac получает изменение состояния OK и многократно предупреждает вошедшего в систему пользователя,но на самом деле НЕ отключается, как я хочу и считаю, что я его настроил.

Я следовал всем советам, которые смог найти в Интернете, особенно по ссылкам:

https://networkupstools.org/

Как автоматически запускать клиент NUT при загрузке MacOS

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

Что я делаю не так?

Файлы конфигурации 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

решение1

Мое решение этой головной боли, которое действительно сработало в моей ситуации.

UPS1 - ИБП CyberPower 800 Вт со следующими подключенными устройствами

  • Элемент списка Synology diskstation
  • Элемент списка 8 коммутатор/концентратор
  • Шлюз элемента списка

UPS2 - ИБП Cyber-power мощностью 300 Вт со следующими подключенными устройствами

  • Элемент списка Внешний жесткий диск Time-machine
  • Элемент списка Mac Mini

Вот идея.

UPS1 будет подключен к Synology diskstation с параметрами «Включить поддержку ИБП». Затем укажите время до перехода disk station в безопасный режим, которое я установил по умолчанию на 5 минут. Затем на втором UPS2, подключенном к UPS1, к моему Mac mini с параметрами, установленными на «Если UPS1 разрядит батареи, то батарея USP2 включится, а затем Mac mini будет выключен и т. д. Или вы можете просто подключить USP1 и UPS2 к их независимым разъемам, а затем задать настройки оттуда.

Связанный контент