Actualmente, cuando uno de los dos UPS muere, el doshutdown se activa el evento y ejecuta el script predeterminado a través de apccontrol . El doshutdown El script ignora el segundo SAI, ya que no está conectado a un evento, y continúa normalmente con el apagado.
Para tener el doshutdown eventos algo conectados, las dos instancias de apcupsd necesitan un archivo de configuración específicamente personalizado. La diferencia residirá en el directorio desde el que se deben ejecutar los scripts de eventos.
Principales propiedades de primeros ups, en /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
Y para el ups1, en /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
Cada scriptdir debe obtener una copia de los scripts predeterminados.
Queremos personalizar el doshutdown secuencia de comandos, que no apagará directamente la máquina, sino que debe verificar si el otro UPS todavía está encendido o si está en modo de apagado.
En la parte superior de doshutdown script, podríamos agregar algo como
para ups0
if [ ! -f /tmp/ups1.is.down ]
then
touch /tmp/ups0.is.down
exit 99
fi
para ups1
if [ ! -f /tmp/ups0.is.down ]
then
touch /tmp/ups1.is.down
exit 99
fi
el estado 99 tiene un significado especial, que le dice a apccontrol para detener la acción en curso. Las cinco líneas comprueban si se ha creado el otro archivo UPS-down; si no , se crea el archivo inactivo para que los ups estén inactivos y sale. Si sí , lo que significa que el otro UPS está inactivo, este también está inactivo, por lo que el script debe continuar y apagar la máquina.
Los archivos /tmp/usp[01].is.down
indicar si el ups[01] está actualmente abajo.
Importante:el script de inicio init.d de apcupsd debería eliminar estos archivos, si se han creado en una sesión anterior:
rm -f /tmp/usp[01].is.down
Finalmente, los directorios creados anteriormente, /etc/apcupsd/ups[01] deben tener acceso a apcupsd usuario (o a cualquier usuario relevante que ejecute las instancias).
chown -R apcupsd /etc/apcupsd/ups[01]
Por favor, eche un vistazo a la documentación detallada.
editar arreglado el /tmp/ups[01].is.down
nombres, el .is
faltaba.
Mira NUT. Maneja esto bien. Defina el número de fuentes de alimentación de cada SAI y el número de fuentes de alimentación necesarias. El apagado no se activará siempre que haya suficientes suministros de energía que no estén en el UPS.