В настоящее время, когда один из двух ИБП умирает, запускается событие doshutdown и выполняется скрипт по умолчанию через 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 , который не будет напрямую выключать машину, но должен проверять, включен ли другой ИБП или находится в режиме выключения.
В верхней части скрипта 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-down-down; если нет , файл down создается для того, чтобы ups были сброшены, и завершается. Если да , это означает, что другой ИБП не работает, этот также отключается, поэтому сценарий должен продолжиться и выключить машину.
Файлы /tmp/usp[01].is.down
указывают, что ups [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
пропал без вести.