
Ubuntu日本語フォーラム

ログインしていません。
手元で動いているubuntu 10.04.4 LTS(amd64デスクトップ版)を使って実験しています。
(適当な機材がなく、ubuntuサーバ版では試していません)
apt-getでgenpowerをインストールしました。UPSはGE3115で、付属ケーブルによってシリアルポートとつながっています。
/etc/genpowerd.confを以下のように変更しました。/etc/init.d/powerfailはまだ変更していません。
* /etc/genpowerd.conf
ENABLED=true
UPSPORT=/dev/ttyS0
UPSSTAT=/var/run/upsstat
UPSTYPE=ge3115
(中略)
# GSEE GE3115
ge3115 RTS /DTR 5 /CTS CAR ---
ここでリブートするとgenpowerdが動いています。
% ps aux | grep genpower
root 889 0.0 0.0 4012 396 ? Ss 08:52 0:00 /sbin/genpowerd -c /etc/genpowerd.conf
そしてUPSと正常に通信できています。
% cat /var/run/upsstat
OK
試しに停電状態を作り出すときちんと検知できています。
% cat /var/run/upsstat
FAIL
しかし問題は、停電を検知してもpowerfailスクリプトが呼び出されません。ls -luで確認すると全く読まれていません。
昔 /etc/inittabが存在した時代にはinittab内にpowerfailスクリプトのパスを書くことでinitから呼び出されたのですが、
inittabがなくなった今はどこに何を書けば同様のことができるのでしょうか?
よろしくお願いします。
オフライン
こんな感じかな?
/etc/rc.powerfail
#!/bin/sh
powerfail="/etc/init.d/powerfail"
case "$1" in
FAIL)
$powerfail start
;;
SCRAM)
$powerfail now
;;
OK)
$powerfail stop
;;
esac
exit 0実物が無いので自信が無いw
オフライン
レスありがとうございます。早速実験してみましたが、症状に変化はありませんでした。
停電状態を作っても /etc/rc.powerfail は全く読まれていません。(ls -luで確認)
モードはこれで良いはずです。
# ls -l /etc/rc.powerfail
-rwxr-xr-x 1 root root 203 2012-10-21 22:20 /etc/rc.powerfail
genpowerdが正常に停電を検知していることは、syslogでも確認できます。
Oct 23 09:43:52 xxxxx /sbin/genpowerd: Line power has failed
Oct 23 09:44:19 xxxxx /sbin/genpowerd: Line power restored
思うに、かつて/etc/inittabに設定した
pf::powerwait:/etc/init.d/powerfail start
pr::powerokwait:/etc/init.d/powerfail stop
のような内容をどこか別の場所に設定しなければならないのではないでしょうか。
よろしくお願いします。
オフライン
ごめんなさい間違えました
genpowerd の動作は 1. /var/run/upsstat にステータスを書く、2. kill -s SIGPWR 1
なので Upstart 対応案を作ってみました
/etc/init/power-status-changed.conf
description "power status changed"
start on power-status-changed
script
POWERSTATUS=$(cat /var/run/upsstat)
POWERFAILRC="/etc/init.d/powerfail"
case "$POWERSTATUS" in
FAIL)
$POWERFAILRC start
;;
SCRAM)
$POWERFAILRC now
;;
OK)
$POWERFAILRC stop
;;
esac
end scriptオフライン
ありがとうございます。大成功です。
initを使うUPSデーモンは珍しいらしく、genpowerとupstartを組み合わせるための情報を見付けることができなかったので、
大変助かりました。
後の人のためにgenpowerパッケージにpower-status-changed.confを追加したら良いと思いますが、ubuntu的にはどういう
手続きで追加できるでしょうか。
ただ、genpowerパッケージにpower-status-changed.confを追加した場合、新規にgenpowerをインストールする人は良いの
ですが、既に使っている人がアップグレードした場合に問題が生じないかという点が心配です。
オフライン