Вот как это делается в Fedora Core :
UPS hardware compatibility list:
http://eu1.networkupstools.org/compat/stable.html
Nut's configuration files are placed in the /etc/ups directory.
ups.conf - settings for UPS-specific driver
upsd.conf - settings for main UPS daemon
upsd.users - access control file for UPS daemon
upsmon.conf - settings for UPS monitoring daemon
upssched.conf - settings for upssched daemon
Addition to these, /etc/sysconfig/ups is also provided in the Fedora Core RPM pakcage. You can specify some command line options for upsd in /etc/sysconfig/ups .
We do not use upssched daemon. So, we will not touch upssched.conf.
Содержимое конфигурационных файлов NUT:
Код: Выделить всё
------------------ /usr/sbin/upssched-cmd (установить атрибуты для выполнения скрипта) -------------------------
#!/bin/sh
MSG1="on battery. The UPS has been on battery for a while, logout right now!"
MSG2="forced shutdown. UPS on battery too long, forced shutdown!"
case $1 in
onbatt1) logger -t upssched-cmd $MSG1
wall $MSG1
echo "on battery" | sendmail -F"ups@server1" root
;;
earlyshutdown)
logger -t upssched-cmd $MSG2
echo "forced shutdown" | sendmail -F"ups@server1" root
/usr/sbin/upsmon -c fsd
;;
*)
logger -t upssched-cmd "ERROR!! $0 doesn't support $1"
;;
esac
---------- /etc/ups/hosts.conf --------------
MONITOR apcups@localhost "Local UPS"
--------------- /etc/ups/ups.conf -----------
[apcups]
driver = apcsmart
port = /dev/ttyS0
desc = "local ups"
-------------- /etc/ups/upsd.conf -------------
ACL all 0.0.0.0/0
ACL localhost 127.0.0.1/32
ACCEPT localhost
REJECT all
---------- /etc/ups/upsd.users ----------
[upsuser]
password = upspwd
allowfrom = localhost
actions = SET
instcmds = ALL
upsmon master
---------- /etc/ups/upsmon.conf -----------
# RUN_AS_USER root
MONITOR apcups@localhost 1 upsuser upspwd master
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -h +0"
NOTIFYCMD /usr/sbin/upssched
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /etc/killpower
NOTIFYFLAG ONLINE SYSLOG+WALL+EXEC
NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC
NOTIFYFLAG SHUTDOWN SYSLOG+WALL+EXEC
NOTIFYFLAG LOWBATT SYSLOG+WALL+EXEC
NOTIFYFLAG REPLBATT SYSLOG+WALL+EXEC
NOTIFYFLAG NOCOMM SYSLOG+WALL+EXEC
RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 5
-------------- /etc/ups/upssched.conf ------------
CMDSCRIPT /usr/sbin/upssched-cmd
LOCKFN /var/lib/ups/upssched.lock
PIPEFN /var/lib/ups/upssched.pipe
AT ONBATT * START-TIMER onbatt1 10
AT ONLINE * CANCEL-TIMER onbatt1
# после тестов замените 120 (2мин) на 1500 (25мин)
AT ONBATT * START-TIMER earlyshutdown 120
AT ONLINE * CANCEL-TIMER earlyshutdown
------------- /etc/sysconfig/ups ---------------
SERVER=yes
MODEL=apcsmart
DEVICE=/dev/ttyS0
OPTIONS=:w
UPSD_OPTIONS=
Установите соответствующие права на каталоги:
# chmod 640 /etc/ups/*
# chown root:nut /etc/ups/*
Запустите сервис:
Код: Выделить всё
# /sbin/service ups start
Starting apcsmart: Network UPS Tools (version 2.0.2) - APC Smart protocol driver
Driver version 1.99.7, command table version 2.0
Detected SMART-UPS 700 [QS123456] on /dev/ttyS0
Starting upsd: Network UPS Tools upsd 2.0.2
Connected to UPS [apcups]: apcsmart-ttyS0
Synchronizing.....done
Starting UPS monitor (master): Network UPS Tools upsmon 2.0.2
UPS: apcups@localhost (master) (power value 1)
Using power down flag file /etc/killpower
Проверьте запуск:
# cat /var/log/messages | grep ups
Просмотрите текущий статус UPS:
# upsc apcups@localhost
Обратите внимание на строку
ups.status: OL,
где OL – on line (все нормально, питание от сети); OB – питание от батареи; LB – батарея разряжена, OL CHRG – online и идет зарядка батарей.
Проверьте, что система корректно закрывается после пропадания питания. Отсоедините UPS от питающей сети и наблюдайте на консоли сообщения (от пользователя nut).
В /var/log/messages :
# egrep ".*ups.*" /var/log/messages
Спустя 2 минуты после пропадания питания, система должна корректно закрыться.
Администратор должен получить соответствующие уведомления по e-mail.
После успешных тестов в файле /etc/ups/upssched.conf замените строку
AT ONBATT * START-TIMER earlyshutdown 120
на
AT ONBATT * START-TIMER earlyshutdown 1500
Далее введите команды:
# /sbin/chkconfig ups on
# /sbin/service ups restart
Примечание. В некоторых моделях UPS после завершения работы системы по сбою питания и перед последующим включением необходимо обязательно выключить и включить UPS.
have a nice day.