![ネットワーク UPS ツール クライアントから macOS / mac OSX をシャットダウンする方法 - NUT](https://rvso.com/image/1592555/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%20UPS%20%E3%83%84%E3%83%BC%E3%83%AB%20%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%81%8B%E3%82%89%20macOS%20%2F%20mac%20OSX%20%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%20-%20NUT.png)
UPS から実行中に停電を検出したときに iMac をシャットダウンする方法を探しています。
私のセットアップは、APC SMT750i UPS で、2 台の Synology NAS と iMac、およびネットワーク キット (ルーター、スイッチなど) に電力を供給しています。これですべて問題ありません。Synology は Linux と NUT のバリアントを実行しています。私は MacPorts を使用して iMac (High Sierra 10.13.6) に NUT (v 2.6.5) をインストールしました。1 台の NAS は USB 経由で UPS に直接接続され、NUT ネットワークの「マスター」として機能し、もう 1 台の NAS と iMac は「スレーブ」です。
停電時には、マスターがUPSの状態を検出し、それをスレーブにブロードキャストします。スレーブは両方ともそれを正常に受信します。NASは両方とも、設定されたとおりに「セーフモード」に切り替わります。iMacは状態変更が正常に行われたことを受信し、ログインしているユーザーに繰り返し警告します。しかし実際にはシャットダウンしない私が望んでいる通り、そして私が設定した通りの動作をします。
私はオンラインで見つけられるアドバイスをすべて実行しました。特に次のアドバイスに従いました。
MacOS の起動時に NUT クライアントを自動的に起動する方法
https://diktiosolutions.eu/en/synology/synology-ups-nut-en/
何が間違っているのでしょうか?
Mac NUT 設定ファイル:
設定ファイル
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 - 以下のデバイスが接続されたサイバーパワー 800 ワット UPS
- リスト項目 Synology ディスクステーション
- リスト項目 8 スイッチ/ハブ
- リスト項目ゲートウェイ
UPS2 - 以下のデバイスが接続されたサイバーパワー 300 ワット UPS
- リスト項目 タイムマシン外付けハードドライブ
- リスト項目 Mac Mini
これがそのアイデアです。
UPS1 は、UPS サポートを有効にするオプションを使用して Synology ディスクステーションに接続されます - 次に、ディスクステーションがセーフ モードに入るまでの時間をデフォルトで 5 分に設定し、UPS1 に接続されている 2 番目の UPS2 を Mac mini に接続し、UPS1 のバッテリーが消耗した場合に USP2 バッテリーが起動し、Mac mini がシャットダウンするように設定などのオプションを設定します。または、USP1 と UPS2 を独立したソケットにプラスして、そこから設定を指定することもできます。