= Сообщение: 8885 из 10753 ===================================== RU.UNIX.BSD = От : Eugene Grosbein 2:5006/1 02 May 19 04:16:50 Кому : Victor Sudakov 02 May 19 04:16:50 Тема : Re: Как правильно готовить apcupsd FGHI : area://RU.UNIX.BSD?msgid=grosbein.net+c3b53b4f На : area://RU.UNIX.BSD?msgid=2:5005/49+5cc9d920 = Кодировка сообщения определена как: IBM866 ================================= Ответ: area://RU.UNIX.BSD?msgid=2:5005/49+5cca70fb ============================================================================== 01 мая 2019, среда, в 22:30 NOVT, Victor Sudakov написал(а):
EG>> Все эти недостатки исчезают, если вместо shutdown делать ребут и EG>> на ранней стадии загрузки проверять уровень заряда батареи EG>> и приостанавливать загрузку, если уровень низок - до тех EG>> пор, пока он не поднимется выше порога. Если питание успело EG>> восстановиться, то батарея зарядится и загрузка просто продолжится. VS> Звучит красиво, но поскольку никто пока не предложил реализации этого в виде VS> стартовых скриптов для FreeBSD (как минимум на уровне бета версии, которую можно VS> было бы потестировать с реальной машиной и бесперебойником), оставляем этот VS> алгоритм в области благопожеланий.
Спасение утопающих дело рук самих утопающих.
Кратенько: кладём в /root специальный конфиг такого вида, который заставляет apcupsd раз в секунду выдавать состояние упса на stdout, если запустить его через apcupsd -bf /root/apcupsd.conf
## apcupsd.conf v1.1 ## UPSNAME ES550-RS UPSCABLE usb UPSTYPE usb UPSCLASS standalone POLLTIME 1 STATTIME 1 LOCKFILE /tmp EVENTSFILE /dev/null STATFILE /dev/fd/1 LOGSTATS off DATATIME 0
Среди выдаваемых строчек будет уровень заряда, такого формата:
BCHARGE : 100.0 Percent
И пишем код такого вида:
/root/bin/apcupsd -bf /root/apcupsd.conf | while read var colon val rest do