[Comm] NUT и Ippon

Andrey Liakhovets liakh на dol.ru
Ср Фев 1 21:01:55 MSK 2012


On Wed, 01 Feb 2012 17:18:25 +0400 Vladimir Karpinsky wrote:
 ...
>Остался один вопрос --- второстепенные компьютеры засыпают раньше,
>могут дать электроэнергию раньше, чем уснёт Мастер.
>Будить собираюсь через etherwake по сигналу ONBATT.
>Как я понимаю, это можно сделать через скрипт, обозначенный в upsmon.conf
>переменной NOTIFYCMD.
>Но, вот, примеров такого скрипта я что-то пока не нашёл.
>Вопрос следующий: что передаётся при вызове этому скрипту?
>Там вероятно надо какой-то case делать, в зависимости от того, по какому
>поводу вызван. Если у кого есть такой пример, покажите, пожалуйста.

Насчёт кастомного NOTIFYCMD не знаю.
Но если вы на slave'ах использовали upssched, то и здесь можно так же.
Что-то вроде:

/etc/nut/upsmon.conf:
...
NOTIFYCMD /usr/sbin/upssched
...
NOTIFYFLAG ONLINE   SYSLOG+EXEC
NOTIFYFLAG ONBATT   SYSLOG+WALL+EXEC
...

/etc/nut/upssched.conf:
...
CMDSCRIPT /usr/local/sbin/upssched-cmd
...
#AT ONBATT * START-TIMER onbatt 300
#AT ONLINE * CANCEL-TIMER onbatt
AT ONLINE * EXECUTE online

/usr/local/sbin/upssched-cmd:
#!/bin/sh

case "$1" in
  onbatt)
    upsmon -c fsd
    ;;
  online)
    sudo etherwake ...
    sudo etherwake ...
    ;;
  *)
    logger -t upssched-cmd "Unrecognized command: $1"
    ;;
esac

Или сделать в /etc/nut/upssched.conf задержку старта slave'ов:
AT ONLINE * START-TIMER online 30
AT ONBATT * CANCEL-TIMER online

Или даже разные задержки для разных slave'ов (несколько TIMER'ов, и
поправить CMDSCRIPT /usr/local/sbin/upssched-cmd).

Андрей Ляховец


Подробная информация о списке рассылки community