Actuellement, lorsque l'un des deux onduleurs meurt, l' événement doshutdown est déclenché et exécute le script par défaut via apccontrol . Le script doshutdown ignore le deuxième onduleur, car ils ne sont pas connectés aux événements, et procède normalement à l'arrêt.
Pour que les événements doshutdown soient quelque peu connectés, les deux instances d'apcupsd ont besoin d'un fichier de configuration spécifiquement personnalisé. La différence réside dans le répertoire à partir duquel les scripts d'événements doivent être exécutés.
Principales propriétés des premières, 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
Et pour les ups1, dans /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
Chaque scriptdir doit obtenir une copie des scripts par défaut.
Nous voulons personnaliser le script doshutdown , qui n'arrêtera pas directement la machine, mais doit vérifier si l'autre onduleur est toujours allumé ou en mode d'arrêt.
En haut du script doshutdown , nous pourrions ajouter quelque chose comme
pour ups0
if [ ! -f /tmp/ups1.is.down ]
then
touch /tmp/ups0.is.down
exit 99
fi
pour ups1
if [ ! -f /tmp/ups0.is.down ]
then
touch /tmp/ups1.is.down
exit 99
fi
l'état 99 a une signification spéciale, qui indique à apccontrol d'arrêter l'action en cours. Les cinq lignes vérifient si l'autre fichier UPS-down a été créé; si pas , vers le bas-fichier est créé pour les hauts étant en bas, et les sorties. Si oui , ce qui signifie que l'autre onduleur est en panne, celui-ci est également en panne, donc le script devrait continuer et arrêter la machine.
Les fichiers /tmp/usp[01].is.down
indiquent si le ups [01] est actuellement en panne.
Important: le script init.d start de apcupsd doit supprimer ces fichiers, s'ils ont été créés lors d'une session précédente:
rm -f /tmp/usp[01].is.down
Enfin, les répertoires créés ci-dessus, / etc / apcupsd / ups [01] doivent avoir accès à l' utilisateur apcupsd (ou à l'utilisateur pertinent exécutant les instances).
chown -R apcupsd /etc/apcupsd/ups[01]
Veuillez consulter la documentation détaillée .
edit a corrigé les /tmp/ups[01].is.down
noms, .is
il manquait.