Задача:
Корректно выключать файловую помойку при отключении электропитания и разряде батареи ИБП
Установка APCUPSD
Обновляем порты. Если делаете в первый раз, то в начале скачиваем и распаковываем
portsnap fetch && portsnap extract
если уже обновлялись, то достаточно команды
portsnap fetch update
Ищем нужный порт
cd /usr/ports/ make search name='apcupsd'
Переходим в нужный порт
cd /usr/ports/sysutils/apcupsd
Собираем и устанавливаем
make && make install && make clean
В окне конфигурации достаточно выбрать две опции:
- Compile APC SmartUPS serial driver
- Compile with USB Support driver
Порт установлен, теперь нам доступны команды:
/usr/local/sbin/apcaccess /usr/local/sbin/apcupsd /usr/local/sbin/apctest
и доступен следующий скрипт для запуска
/usr/local/etc/rc.d/apcupsd
Сохраняем конфиг по умолчанию
cp /usr/local/etc/apcupsd/apcupsd.conf /usr/local/etc/apcupsd/apcupsd.conf.default
Редактируем конфиг
vi /usr/local/etc/apcupsd/apcupsd.conf
Если сильно не вникать с режимами подчиненный/ведомый, клиент/сервер, то в общем случае конфиг apcupsd.conf на локальной машине выглядят:
## apcupsd.conf v1.1 ## # date: 2013-05-04 # UPSNAME APC800 UPSCABLE usb UPSTYPE usb #DEVICE /dev/usv #POLLTIME 60 LOCKFILE /var/spool/lock SCRIPTDIR /usr/local/etc/apcupsd PWRFAILDIR /var/run NOLOGINDIR /var/run ONBATTERYDELAY 6 BATTERYLEVEL 5 MINUTES 3 TIMEOUT 0 ANNOY 300 ANNOYDELAY 60 NOLOGON disable KILLDELAY 0 NETSERVER on NISIP 0.0.0.0 NISPORT 3551 EVENTSFILE /var/log/apcupsd.events EVENTSFILEMAX 10 UPSCLASS standalone UPSMODE disable STATTIME 0 STATFILE /var/log/apcupsd.status LOGSTATS off DATATIME 0 #FACILITY DAEMON #UPSNAME UPS_IDEN #BATTDATE mm/dd/yy #SENSITIVITY H #WAKEUP 60 #SLEEP 180 #LOTRANSFER 208 #HITRANSFER 253 #RETURNCHARGE 15 #BEEPSTATE T #LOWBATT 2 #OUTPUTVOLTS 230 #SELFTEST 336
После того, как установка окончена, выполняем команду rehash, чтобы система обнаружила появление yновых команд
rehash
Добавляем apcupsd в автозагрузку
echo 'apcupsd_enable="YES"' >> /etc/rc.conf
Запускаем сервис
/usr/local/etc/rc.d/apcupsd start
Проверяем запустился ли сервис:
ps -ax | grep apc
Теперь проверяем работу ИБП. Выдергиваем на несколько секунд провод питания ИБП и смотрим в консоль.
Возможные ошибки apcupsd
1. Ошибка при тестировании утилитой apctest
2013-05-04 11:21:28 apctest 3.14.10 (13 September 2011) freebsd Checking configuration ... Attached to driver: usb sharenet.type = Network & ShareUPS Disabled cable.type = USB Cable mode.type = USB UPS Driver Setting up the port ... apctest FATAL ERROR in generic-usb.c at line 674 Cannot find UPS device -- For a link to detailed USB trouble shooting information, please see <http://www.apcupsd.com/support.html>. apctest error termination completed
Проверяйте конфиг, возможно перепутали интерфейс подключения
UPSCABLE usb UPSTYPE usb #DEVICE /dev/usv
Документация и ссылки по APCUPSD для вкуривания:
- http://www.apcupsd.com/
- http://www.apcupsd.com/manual/manual.html
- http://apcupsd.sourceforge.net/manual/manual.pdf
только начал читать сразу бросилось:
portsnap fetch && portsnap extract
можно так:
portsnap fetch extract
😉
согласен *THUMBS UP*
спасибо за наводку 😉