2016年7月6日水曜日

ノートパソコンのバッテリを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%になったときの例。

0 件のコメント:

コメントを投稿