サーバー管理の現場において今まで役に立ったことをまとめた小ネタ集です。お役に立てれば幸いです。なお、不完全な情報や時代遅れになってしまった情報もあるかもしれませんが何卒ご了承ください。

Linux : APC社製の無停電電源装置からOSをシャットダウンさせる方法

作業例(CentOS6の例)

有料ソフトを買わずに済ませる方法です。
apcupsdをインストールしましょう。
yum install apcupsd
設定を書き込みましょう。
apcupsd.confに接続設定を書き込みましょう。

USB接続の例

UPSCABLE usb
UPSTYPE usb
DEVICE


シリアルケーブル接続の例

UPSCABLE smart
UPSTYPE apcsmart
DEVICE /dev/ttyS0
apcupsdを起動しましょう。
CentOS6なら、
/etc/rc.d/init.d/apcupsd restart
CentOS7なら、
systemctl restart apcupsd
等、環境に合わせて再起動してください。
OSの起動時にstartするようにしておきましょう。
chkconfig apcupsd on

作業例(CentOS7の例)

※この記事は2019/06/13時点での情報です。バージョン等を必要に応じて読み替えてください。

CentOS7ではapcupsdがパッケージ化されていないようなので、fedora版を流用する手順です。


サーバーとUPSをUSBケーブルでつないでください。

開発パッケージが入っていなければインストールしてください。
yum install rpm-build.x86_64 gcc-c++
yum install gd-devel net-snmp-devel
yum install tcp_wrappers-devel
yum install gtk2-devel gnome-vfs2-devel
yum install lib-usb-devel

ソースパッケージのダウンロードしてください。
wget http://ftp.riken.jp/Linux/fedora/releases/30/Everything/source/tree/Packages/a/apcupsd-3.14.14-14.fc30.src.rpm

リビルドしてください。
rpmbuild --bb /root/rpmbuild/SPECS/apcupsd.spec

パッケージをインストールしてください。
rpm -Uvh apcupsd-3.14.14-14.el7.centos.x86_64.rpm

設定ファイルを編集してください。
(自動電源断までの秒数を60にするなど。)
TIMEOUT 0 → TIMEOUT 60

サービスを起動してください。
systemctl start apcupsd

サービスを自動起動に設定してください。
chkconfig apcupsd on