現在、2つのUPSの1つが停止すると、doshutdownイベントがトリガーされ、apccontrolを介してデフォルトのスクリプトが実行されます。doshutdownの彼らはイベント-接続されていない、とシャットダウンを正常に進めるようスクリプトは、秒UPSを無視します。
doshutdownイベントをいくぶん接続するために、apcupsdの2つのインスタンスには、特別にカスタマイズされた構成ファイルが必要です。違いは、イベントスクリプトを実行する必要があるディレクトリにあります。
最初のアップの主なプロパティ、 /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スクリプト
をカスタマイズします。これは、マシンを直接シャットダウンするのではなく、他のUPSがまだオンになっているか、シャットダウンモードになっているかを確認する必要があります。
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に進行中のアクションを停止するように指示します。5行は、他のUPSダウンファイルが作成されたかどうかを確認します。あれば何も、ダウンファイルがアップダウンしている、して終了するために作成されません。はいの場合、つまり他のUPSがダウンしている場合、これもダウンしているため、スクリプトを続行してマシンをシャットダウンする必要があります。
ファイル/tmp/usp[01].is.down
は、ups [01]が現在ダウンしているかどうかを示します。
重要:これらのファイルが前のセッションで作成されている場合、apcupsdのinit.d起動スクリプトはこれらのファイルを削除する必要があります。
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
ませんでした。