ReadyNAS 212を導入-その3 電源管理編(Linux[CentOS 6]クライアント)

Windowsクライアントの次は、自宅内のユーティリティをこなすLinuxサーバ(ここでは、ReadyNASがUPSサービスの事実上のサーバであることから、以降Linuxクライアントと表記する)を、NUT(Network UPS Tools)のスレーブとして動作させる設定をする。
参考URL:http://balfits.com/jpn/nutj/centos64_slave.html

ノートパソコンのバッテリをUPSのように利用し、残量が設定以下になったら安全にシャットダウンする(acpid編)

ノート型パソコンにCentOSを導入してサーバのように扱っているが、UPSのようにバッテリがある残量を下回っても動き続けるため、不意なシャットダウンをする可能性がある。 ACPIが動作しているので、ここに一工夫して、安全にシャットダウンする仕組みを導入した。

参考サイト:改訂版: LinuxノートPC上でサスペンド/ハイバネーションする方法 2ページ | OSDN Magazine

/etc/acpi/events/battery

event=battery.*
action=/etc/acpi/actions/battery.sh
/etc/acpi/actions/battery.sh

#!/bin/sh
if grep -q on-line /proc/acpi/ac_adapter/ADP0/state; then
  exit 0
fi

BAT_DIR=/proc/acpi/battery/BAT0
FULL_BAT=`grep 'last full capacity' ${BAT_DIR}/info | awk '{ print $4 }'`
CUR_BAT=`grep 'remaining capacity' ${BAT_DIR}/state | awk '{ print $3 }'`
AVG=`expr $(expr ${CUR_BAT} \* 100) / ${FULL_BAT}`

if [ "$AVG" -le "30" ]; then
  /sbin/poweroff
fi

ACアダプタ状態(/proc/acpi/ac_adapter/ADP0/state)とバッテリ状態(/proc/acpi/battery/BAT0/*)は、環境に合わせる。 “30”は30%になったときの例。