HOME 備忘録 書き込む

停電が起きたときに自動で自宅サーバーをシャットダウンする方法


Mar 15, 2011

東北の大地震に伴い、東電が計画停電を実施しています。 そのため、我が家の自宅サーバーはかなり稼働率が悪くなっています。
しかし、実は、我が家は一度も停電しておらず、無駄にサーバーをシャットダウンさせていました。
そこで、実際に停電が起きたときだけ、サーバーをシャットダウンさせるようにしました。

我が家のサーバーは UPS から電源を取っているので、停電が起きても数分は持ちます。
一方、ルーターは停電が起きるとすぐに停止するので、ルーターが生きているかをみて、死んでいたら サーバーをシャットダウンするようにしました。 具体的には、/etc/crontab に以下の行を追加して、毎分ルータに ping し、応答がなければ シャットダウンするようにしました。

* *  * * *     root    ping -c 1 192.168.1.1 > /dev/null || shutdown -h now
192.168.1.1 は我が家のルータの IP address です。

これで、無駄にサーバーを落とすことがなくなりました。