Установливаю NUT
root@bananapi ~ # apt-get install nut nut-client nut-cgi nut-snmp nut-dev Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Заметьте, вместо «nut-dev» выбирается «libupsclient1-dev» Будут установлены следующие дополнительные пакеты: libgd2-xpm libjpeg8 libperl5.14 libsensors4 libsnmp-base libsnmp15 libupsclient1 libxpm4 nut-server Предлагаемые пакеты: libgd-tools lm-sensors snmp-mibs-downloader nut-dev nut-xml Рекомендуемые пакеты: bash-completion НОВЫЕ пакеты, которые будут установлены: libgd2-xpm libjpeg8 libperl5.14 libsensors4 libsnmp-base libsnmp15 libupsclient1 libupsclient1-dev libxpm4 nut nut-cgi nut-client nut-server nut-snmp . . . Настраивается пакет nut-client (2.6.4-2.3+deb7u1) … [info] nut-client disabled, please adjust the configuration to your needs. [info] Then set MODE to a suitable value in /etc/nut/nut.conf to enable it. Настраивается пакет nut-server (2.6.4-2.3+deb7u1) … [info] nut-server disabled, please adjust the configuration to your needs. [info] Then set MODE to a suitable value in /etc/nut/nut.conf to enable it. Настраивается пакет nut (2.6.4-2.3+deb7u1) … Настраивается пакет nut-cgi (2.6.4-2.3+deb7u1) … Настраивается пакет nut-snmp (2.6.4-2.3+deb7u1) … apt-get install nut nut-client nut-cgi nut-snmp nut-dev 8,34s user 3,36s system 5% cpu 3:37,05 total
Для работы с nut добавляю пользователя.
root@bananapi /etc/nut # adduser rootups Добавляется пользователь «rootups» ... Добавляется новая группа «rootups» (1000) ... Добавляется новый пользователь «rootups» (1000) в группу «rootups» ... Создаётся домашний каталог «/home/rootups» ... Копирование файлов из «/etc/skel» ... Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: пароль успешно обновлён Изменение информации о пользователе rootups Введите новое значение или нажмите ENTER для выбора значения по умолчанию Полное имя []: Номер комнаты []: Рабочий телефон []: Домашний телефон []: Другое []: Данная информация корректна? [Y/n] y
Добавляю созданного пользователя в группу nut
root@bananapi /etc/nut # usermod -G nut rootups
UPS подключен с последовательному порту ttyS3 (J12 4(RXD) и 6(TXD))
Для работы с этим портом, добавляю пользователя nut в группу dialout.
root@bananapi ~ # usermod -G dialout nut root@bananapi ~ # reboot
Все конфигурационные файлы NUT находятся в директории «/etc/nut».
Назначение:
nut.conf
Выставляю режим работы
MODE=standalone
ups.conf
[bpiups] driver = blazer_ser port = /dev/ttyS3 desc = "IPPON Smart Power Pro" default.battery.voltage.high = 13.60 default.battery.voltage.low = 10.60
Опции:
upsd.conf
LISTEN 127.0.0.1 3493
upsd.users Настраиваю пользователя для работы с ups демоном.
[rootups] password = gfhjkm allowfrom = localhost upsmon master
Доступные опции.
Значения:
password - пароль пользователя
allowfrom - откуда разрешено подключатся
Каждый UPS монитор может определяться как один из трех возможных типов:
upsmon master - полные полномочия управлением питания подключенных к системе UPS под управлением upsmon, эта система отвечает за выключение разряженного аккумулятора. Выключение происходит после безопасного выключения всех Slave систем. Если ваш UPS подключен непосредственно к системе через последовательный порт, то для upsmon системы следует определить этот UPS как Master.
upsmon slave - эта система, под управлением upsmon и она не выключается непосредственно. Операционная система будет выключена перед отключением питания Master. Используйте этот режим при запуске монитора на других компьютерах работающих на том же UPS. И очевидно, что только один сервер может быть подключен к последовательному порту на UPS, коим будет является Master. Все остальные сервера будут Slave.
upsmon monitor-only - при этом режиме будут создаваться уведомления о состоянии или изменении работы батареи, переключении на линию и т.д., но не завершать работу системы.
actions - Действия пользователя с применением upsd.
instcmds - разрешения пользователю на инициирование конкретных команд. «ALL» - разрешает использовать все команды. Существует множество команд, 'upscmd -l' показывает, что поддерживает оборудование. Пример несколько команд.
upsmon.conf
Убираю комментарий с RUN_AS_USER
RUN_AS_USER upsmaster
И добавляю строку
MONITOR bpiups@localhost 1 rootups gfhjkm master
Запускаю ups демона
root@bananapi ~ # upsdrvctl start Network UPS Tools - UPS driver controller 2.6.4 Network UPS Tools - Megatec/Q1 protocol serial driver 1.55 (2.6.4) Duplicate driver instance detected! Terminating other driver! Broadcast Message from rootups@bana (somewhere) at 23:09 ... Communications with UPS bpiups@localhost lost Supported UPS detected with megatec protocol Vendor information unavailable No values provided for battery high/low voltages in ups.conf Using 'guestimation' (low: 10.400000, high: 13.000000)! Battery runtime will not be calculated (runtimecal not set) Broadcast Message from rootups@bana (somewhere) at 23:09 ... Communications with UPS bpiups@localhost established
Запускаю монитор
/etc/init.d/ups-monitor start
Проверяю.
root@bananapiupsc bpiups@127.0.0.1 battery.charge: 100 battery.voltage: 13.80 battery.voltage.high: 13.00 battery.voltage.low: 10.40 battery.voltage.nominal: 12.0 device.type: ups driver.name: blazer_ser driver.parameter.pollinterval: 2 driver.parameter.port: /dev/ttyS3 driver.version: 2.6.4 driver.version.internal: 1.55 input.current.nominal: 2.0 input.frequency: 49.6 input.frequency.nominal: 50 input.voltage: 255.0 input.voltage.fault: 255.0 input.voltage.nominal: 230 output.voltage: 214.0 ups.beeper.status: disabled ups.delay.shutdown: 30 ups.delay.start: 180 ups.load: 0 ups.status: OL TRIM ups.temperature: 37.8 ups.type: offline / line interactive root@bananapi ~ #
Копируем файлы NUT в директорию http-сервера:
root@bananapi ~www # mkdir /var/www/nut root@bananapi ~www # cp /usr/share/nut/www/* /var/www/nut/
Проверяю. что в /usr/lib/cgi-bin/ есть папка nut
В папку /etc/apache2/conf.d добавил файл nut.conf
Содержимое файла
# cat nut.conf # therm Apache configuration Alias /power /var/www/nut <Directory /var/www/nut> Order deny,allow Allow from all </Directory>
hosts.conf добавил строку
MONITOR bpiups@localhost "Banana PI UPS"
upsset.conf раскомментировал.
I_HAVE_SECURED_MY_CGI_DIRECTORY
# apachectl graceful
Ссылки:
https://www.easycoding.org/2012/10/01/podnimaem-nut-v-linux.html
http://geckich.blogspot.com/2012/10/low-battery-ups-nut-network-ups-tools.html
http://habrahabr.ru/post/102032/