V současné době, když jeden ze dvou UPS zemře, doshutdown událost se spustí a spustí výchozí skript prostřednictvím apccontrol . nevypnutí skript ignoruje druhou UPS, protože nejsou připojeny k události, a pokračuje normálně s vypnutím.
Aby došlo k vypnutí události poněkud propojené, potřebují dvě instance apcupsd specificky přizpůsobený konfigurační soubor. Rozdíl bude spočívat v adresáři, ze kterého se mají skripty událostí spouštět.
Hlavní vlastnosti prvních upů v /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
A pro ups1 v /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
Každý scriptdir by měl získat kopii výchozích skriptů.
Chceme přizpůsobit doshutdown skript, který přímo nevypne stroj, ale musí zkontrolovat, zda je druhá UPS stále zapnutá nebo v režimu vypnutí.
V horní části doshutdown skript, mohli bychom přidat něco jako
pro ups0
if [ ! -f /tmp/ups1.is.down ]
then
touch /tmp/ups0.is.down
exit 99
fi
pro ups1
if [ ! -f /tmp/ups0.is.down ]
then
touch /tmp/ups1.is.down
exit 99
fi
stav 99 má speciální význam, který říká apccontrol k zastavení probíhající akce. Pět řádků kontroluje, zda byl vytvořen další soubor UPS-down; pokud ne , je vytvořen soubor down pro ups, který je dole, a ukončí se. Pokud ano , což znamená, že druhá UPS je mimo provoz, tato se také vypíná, takže skript by měl pokračovat a vypnout počítač.
Soubory /tmp/usp[01].is.down
označte, zda je ups[01] aktuálně dole.
Důležité:Spouštěcí skript init.d apcupsd by měl odstranit tyto soubory, pokud byly vytvořeny v předchozí relaci:
rm -f /tmp/usp[01].is.down
A konečně, adresářům vytvořeným výše, /etc/apcupsd/ups[01] by měl být udělen přístup k apcupsd uživateli (nebo kterémukoli relevantnímu uživateli, který spouští instance).
chown -R apcupsd /etc/apcupsd/ups[01]
Podívejte se prosím na podrobnou dokumentaci.
upravit opraveno /tmp/ups[01].is.down
jména, .is
chyběl.
Podívejte se na NUT. Zvládá to dobře. Definujte počet napájecích zdrojů z každé UPS a počet požadovaných napájecích zdrojů. Vypnutí nebude spuštěno, pokud bude dostatek napájecích zdrojů mimo UPS.