Debian 서버에 패키지를 성공적으로 설치하여 USB를 통해 Ellipse PRO 1200 UPS의 상태(배터리 수준 반환) nut
를 얻을 수 있습니다 .upsc my-ups
참고: 정전이 발생하면 어떤 일이 발생하는지 테스트하지 않았습니다.
UPS는 Debian 서버 외에 다른 장치(일부 라우터/스위치 및 NAS)에 전원을 공급합니다.
이 경우, 제가 생각하는 NUT의 작동 방식을 고려해 볼 때, NAS에 NUT를 설치하고 이를 NUT 슬레이브로 선언해야 합니다. 그러면 Debian 서버(NUT 마스터)는 배터리가 부족해지면 NAS에 종료 명령을 내리고 그런 다음 스스로 닫힙니다.
문제는 NAS에 NUT를 설치할 수 없지만(OS는 지원되지 않음) SSH로 연결하여 종료하라고 할 수 있다는 것입니다.
NUT가 슬레이브를 종료하도록 명령하기 위해 일반적으로 실행되는 스크립트와 함께 내 스크립트를 어떻게/어디에 배치할 수 있습니까?
내가 찾을 수 있는 유일한 곳 SHUTDOWNCMD
은/etc/nut/upsmon.conf문서:
SHUTDOWNCMD "/sbin/shutdown -h +0"
내 생각엔 이 명령을 SSH-shutdown-command를 실행하고 데비안 서버를 종료하는 손으로 작성한 스크립트로 대체할 수 있을 것 같습니다.
문제는 SHUTDOWNCMD
마지막 작업인 것 같습니다: 배터리가 매우 부족할 때. 내 스크립트에서 다른 모든 장치에 연결하려면 배터리가 방전되기 전보다 시간이 더 걸릴 것입니다.
감사해요
답변1
upssched.conf(5)
이벤트가 발생한 후 타이머에서 자신만의 스크립트를 실행 해 볼 수 있습니다 .
기본적으로 upssched.conf
다음과 같이 진행됩니다.
CMDSCRIPT /bin/your-script.sh
AT ONBATT * EXECUTE emailonbatt
AT ONBATT * START-TIMER upsonbatt 300
AT ONLINE * EXECUTE emailonline
AT ONLINE * CANCEL-TIMER upsonbatt upsonline
이를 통해 NUT는 다음을 수행합니다.
- UPS는 배터리 전원으로 작동한 후 즉시 작동합니다
/bin/your-script.sh emailonbatt
. - UPS는 5분 동안 배터리 전원으로 작동됩니다
/bin/your-script.sh upsonbatt
. - UPS는 라인 전원이 복원되는 즉시 작동 가능하게 됩니다
/bin/your-script.sh emailonline
. - 타이머가 여전히 활성 상태인 경우 UPS가 회선 전원을 복원한 후
upsonbatt
즉시 타이머를 취소해야 합니다 . 그렇지 않으면 를 실행하십시오/bin/your-script.sh upsonline
.
스크립트는 다음과 같습니다.
#!/bin/bash
case $1 in
emailonbatt)
mail -s "UPS on battery power" [email protected]
;;
emailonline)
mail -s "UPS on line power" [email protected]
;;
upsonbatt)
ssh root@nas shutdown -h +0
;;
upsonline)
etherwake 01:23:45:AB:CD:EF
;;
esac
AT 문의 구문은 for 매뉴얼 페이지에서 찾을 수 있으며 upssched.conf(5)
사용 가능한 알림 이벤트 유형은 for 매뉴얼 페이지에서 찾을 수 있습니다 upsmon(8)
.
답변2
당신이 하고 싶은 일(미리 만들어진 후크를 사용하는 것)이 가장 우아한 방법입니다.
그러나 후크가 없거나 후크가 사용자의 요구에 적합하지 않아 이것이 불가능할 경우 폴링 방법도 선택 사항입니다.
/var/log
파일에서 NUT 구성 요소의 출력을 모니터링할 수 있습니다.
예를 들어 내(Debian 7의 Salicru UPS)는 다음을 기록합니다.
10월 28일 13:37:49 호스트 이름 upsmon[1766]: UPS salicru@caramon 배터리 전원 공급
UPS가 배터리로 전환되면 이
10월 28일 13:39:39 호스트 이름 upsmon[1766]: UPS salicru@caramon 온라인 전원 공급 장치
전력이 복구되면.
정전을 시뮬레이션하고 로그 메시지를 확인한 다음 1분(또는 5분)마다 실행되는 cron 작업을 작성하고 로그에서 해당 줄을 찾아 원하는 작업을 수행할 수 있습니다.