В даний час, коли одне з двох ДБЖ помирає, запускається подія дошутдаун та виконує сценарій за замовчуванням через apccontrol . Doshutdown сценарій ігнорує другий ДБЖ, так як вони не є подіями пов'язано, і продовжити нормально з виключенням.
Для того, щоб події doshutdown були дещо зв'язані, для двох примірників apcupsd потрібен спеціально налаштований файл конфігурації. Різниця міститиметься в каталозі, з якого повинні виконуватися сценарії подій.
Основні властивості перших злетів, в /etc/apcupsd/apcupsd.ups0.conf
SCRIPTDIR /etc/apcupsd/ups0
UPSNAME ups0
DEVICE /dev/ups0
PWRFAILDIR /etc/apcupsd/ups0
NOLOGINDIR /etc/apcupsd/ups0
NISPORT 3551
EVENTSFILE /var/log/apcupsd.0.events
А для ups1, в /etc/apcupsd/apcupsd.ups1.conf
SCRIPTDIR /etc/apcupsd/ups1
UPSNAME ups1
DEVICE /dev/ups1
PWRFAILDIR /etc/apcupsd/ups1
NOLOGINDIR /etc/apcupsd/ups1
NISPORT 3552
EVENTSFILE /var/log/apcupsd.1.events
Кожен scriptdir повинен отримати копію сценаріїв за замовчуванням.
Ми хочемо налаштувати скрипт doshutdown , який не буде безпосередньо вимикати машину, але повинен перевірити, чи інший ДБЖ все ще увімкнено, чи він у режимі відключення.
У верхній частині сценарію дошутдаунду ми могли б додати щось на кшталт
для ups0
if [ ! -f /tmp/ups1.is.down ]
then
touch /tmp/ups0.is.down
exit 99
fi
для ups1
if [ ! -f /tmp/ups0.is.down ]
then
touch /tmp/ups1.is.down
exit 99
fi
статус 99 має особливе значення, яке повідомляє apccontrol припинити дію, що виконується. П'ять рядків перевіряють, чи створено інший файл UPS-вниз; якщо ні , то файл вниз створюється для запущених вікон і виходить. Якщо так , це означає, що інший ДБЖ не працює, цей також знижується, тому сценарій повинен продовжуватися і вимикати машину.
Файли /tmp/usp[01].is.down
вказують, чи не працює [01].
Важливо: сценарій запуску init.d apcupsd повинен видалити ці файли, якщо вони були створені в попередньому сеансі:
rm -f /tmp/usp[01].is.down
Нарешті, до створених вище каталогів / etc / apcupsd / ups [01] слід надати доступ користувачеві apcupsd (або тому, що стосується відповідного користувача, який працює з екземплярами).
chown -R apcupsd /etc/apcupsd/ups[01]
Будь ласка, подивіться детальну документацію .
Редагування виправлено /tmp/ups[01].is.down
імена, .is
пропущено.