NUTと即時通知

NUTと即時通知

NUTUPSがバッテリ電源を使用してライン電源に戻ったときに呼び出すようにLinuxでUPS監視ソフトウェアを設定したいと思います。たとえば、upsmon次のようなメッセージを受信した場合システムログ:

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

そして、おそらく最良の解決策はカスタムsyslogルールですか?

ただし、NUT固有の設定通知について私が見たすべての例は、/etc/nut/upssched.confUPSバッテリーレベルが低いしきい値に達したときにタイマーを起動し、カスタムパラメータをカスタムスクリプトに渡し、upssched-cmdシステムを正常にシャットダウンするなどのタスクを実行します。 「タイマー」メソッドでは、次のことができますupssched.conf

AT ONBATT * START-TIMER onbatterypower 0
AT ONLINE * CANCEL-TIMER onlinepower

...または私がやりたいことを達成する他の/より良いNUT confコマンドはありますか?

ベストアンサー1

もちろん、長さ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

おすすめ記事