= Сообщение: 8900 из 10753 ===================================== RU.UNIX.BSD = От : Eugene Grosbein 2:5006/1 03 May 19 17:59:46 Кому : Victor Sudakov 03 May 19 17:59:46 Тема : Re: Как правильно готовить apcupsd FGHI : area://RU.UNIX.BSD?msgid=grosbein.net+b278069d На : area://RU.UNIX.BSD?msgid=2:5005/49+5ccba87f = Кодировка сообщения определена как: IBM866 ================================= ============================================================================== 03 мая 2019, пятница, в 07:30 NOVT, Victor Sudakov написал(а):
VS>>> В существующем положении в sysutils/apcupsd присутствует риск VS>>> потери данных. EG>> Тебя устроит и сможешь ли ты протестировать такое решение: VS> Смогу. EG>> 1) из штатного /etc/rc.shutdown будет вызываться некий скрипт EG>> типа /etc/rc.shutdown.final (если он существует), EG>> сразу после строчки: # Insert other shutdown procedures here EG>> что гарантирует его запуск "в самом конце"; VS> У меня в этом месте сейчас просто VS> test -f /var/run/powerfail && /usr/local/sbin/apcupsd -k EG>> 2) в стартовый скрипт порта apcupsd добавляем что-то вроде: EG>> extra_commands="killpower" EG>> killpower_cmd="apcupsd_killpower" EG>> apcupsd_killpower() { EG>> apcupsd --killpower или как там надо EG>> } VS> А параметр ${apcupsd_flags="--kill-on-powerfail"} в стартовом скрипте порта VS> тоже меняем?
Изменение *дефолтного* поведения порта - преррогатива его майнтейнера. Ты разве не можешь себе это поменять в /etc/rc.conf сам?
EG>> 3) ты создаёшь себе скрипт /etc/rc.shutdown.final EG>> с одной командой service apcpuspd killpower, EG>> которую будешь вызывать, если аргумент $1 скрипта EG>> не reboot (что значит, что система просто ребутится) EG>> и не single (что значит, что система переходит в single user mode). EG>> Если есть лучшее имя вместо rc.shutdown.final - EG>> приложения принимаются. К сожалению, имя EG>> /etc/rc.shutdown.local уже занято и семантика у него EG>> другая, legacy. VS> Я тоже не придумал, как гарантировать скрипту из rc.d, что он будет выполнен VS> последним при shutdown.
Я же написал, как, в квоте. Команда service apcupsd killpower как раз и вызывает скрипт из rc.d с параметром killpower гарантировано последним при shutdown, если эту команду вставить в /etc/rc.shutdown.final