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

관련 정보