Attualmente quando uno dei due UPS muore, viene attivato l' evento doshutdown ed esegue lo script predefinito tramite apccontrol . Lo script doshutdown ignora il secondo UPS, poiché non sono collegati agli eventi e procedono normalmente allo spegnimento.
Per avere un po 'connessi gli eventi di doshutdown , le due istanze di apcupsd necessitano di un file di configurazione specificamente personalizzato. La differenza risiederà nella directory da cui devono essere eseguiti gli script degli eventi.
Proprietà principali dei primi piani, in /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
E per gli up1, in /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
Ogni scriptdir dovrebbe ottenere una copia degli script predefiniti.
Vogliamo personalizzare lo script doshutdown , che non spegne direttamente la macchina, ma deve verificare se l'altro UPS è ancora acceso o è in modalità di spegnimento.
Nella parte superiore dello script di doshutdown , potremmo aggiungere qualcosa di simile
per ups0
if [ ! -f /tmp/ups1.is.down ]
then
touch /tmp/ups0.is.down
exit 99
fi
per ups1
if [ ! -f /tmp/ups0.is.down ]
then
touch /tmp/ups1.is.down
exit 99
fi
lo stato 99 ha un significato speciale, che dice ad apccontrol di fermare l'azione in corso. Le cinque righe controllano se è stato creato l'altro file down-UPS; in caso contrario , il file down viene creato per gli up down e viene chiuso. Se sì , nel senso che l'altro UPS è inattivo, anche questo si sta scaricando, quindi lo script dovrebbe continuare e spegnere la macchina.
I file /tmp/usp[01].is.down
indicano se l'up [01] è attualmente inattivo.
Importante: lo script init.d start di apcupsd dovrebbe rimuovere questi file, se sono stati creati in una sessione precedente:
rm -f /tmp/usp[01].is.down
Infine, le directory create sopra, / etc / apcupsd / ups [01] dovrebbero avere accesso all'utente apcupsd (o a qualsiasi utente rilevante che esegue le istanze).
chown -R apcupsd /etc/apcupsd/ups[01]
Dai un'occhiata alla documentazione dettagliata .
modifica fissa i /tmp/ups[01].is.down
nomi, .is
mancava.