Notifications
NUT 和即時通知
我想
NUT
在 Linux 下配置 UPS 監控軟體,以便在 UPS 使用電池電源時簡單地呼叫我,然後當它返迴線路電源時。例如,當我從syslogupsmon
收到以下消息時:Aug 19 05:43:27 jupsden upsmon[466]: UPS jupsden@localhost on battery Aug 19 05:43:42 jupsden upsmon[466]: UPS jupsden@localhost on line power
而且,也許最好的解決方案是自定義系統日誌規則?
但是,我在 NUT 特定配置通知中看到的所有範例
/etc/nut/upssched.conf
都是在 UPS 電池電量達到某個低門檻值時啟動計時器,然後將自定義參數傳遞給自定義腳本upssched-cmd
,正常關閉系統等。使用“計時器”方法,我可以在以下內容中執行以下操作upssched.conf
:AT ONBATT * START-TIMER onbatterypower 0 AT ONLINE * CANCEL-TIMER onlinepower
…或者是否有一些不同/更好的 NUT conf 命令可以實現我想要做的?
當然你可以使用 0 長度的計時器,但是如果你想要立即反應,還有
AT ... EXECUTE
語法。如果您希望在電源狀態更改時立即顯示頁面,則可以使用
AT <notifytype> <upsname> EXECUTE <command>
語法。換句話說,你可以做這樣的事情upssched.conf
:CMDSCRIPT /usr/local/sbin/custom-upssched-cmd [...] AT ONBATT * EXECUTE start_panicking AT ONLINE * EXECUTE panic_over
然後您的
/usr/local/sbin/custom-upssched-cmd
腳本(記住chmod a+x
它!)將包含以下內容:#!/bin/sh case "$1" in start_panicking) logger -t custom-upssched-cmd "UPS went on battery power at this time" # add here a command to send a suitably alarming pager message ;; panic_over) logger -t custom-upssched-cmd "UPS reports power is back" # add here a command to send a calming pager message ;; *) logger -t custom-upssched-cmd "The administrator forgot to add a suitable message for upssched.conf command $1" ;; esac