現在東京電力管内は、電力需給逼迫の状態です。
私も何か節電に協力できないかと考えていました。
以前の記事で書いている通り、今の自宅サーバはシャットダウンができず、自動起動させる事が出来ずにいました。
自宅サーバ省電力化 NIC編 | KUSONEKOの見る世界
自宅サーバを省電力化するため、夜間のみインターフェース速度を自動下げてみました。
今回思いついたのは、シャットダウンではなく、スリープなら上手くいくのではないかということです。(なぜ当時気付かなかったのか…)
インターネットで調べてみると、案外簡単に出来る事がわかり、やってみたら上手く動きました。
1. コマンド例
以前は、/sys/class/rtc/rtc0/wakealarm に起動する時間を入れて、
shutdownするようなことをやっていましたが、rtcwakeコマンドだけで完結できます。
1-1. 5時間30分後に、スリープから自動起動
# rtcwake -m mem -t `date +%s -d '5 hour 30 min'` または # rtcwake -m mem -s 19800
1-2. 5時間30分後に、休止状態から自動起動
# rtcwake -m disk -t `date +%s -d '5 hour 30 min'` または # rtcwake -m disk -s 19800
1-3. 5時間30分後に、シャットダウン状態から自動起動
# rtcwake -m off -t `date +%s -d '5 hour 30 min'` または # rtcwake -m off -s 19800
2. crontab
rtcwakeをcrontabに入れて実行すれば、知らず知らずのうちに節電になります。
以下の例では、夜0時30分にスリープし、朝6時に起動する例です。
なお、crontabでは、%を使う場合、『\』でエスケープが必要です。
# crontab -e
30 0 * * * /sbin/rtcwake -m mem -t `date +\%s -d '5 hour 30 min'`
3. 最後に
東京電力管内で、常時起動が不要なサーバが全てスリープしたら、なかなかの効果があるのは無いでしょうか。
他にも省電力の方法が無いか、検討していこうと思います。
我々エンジニアの力を終結すれば、この夏は乗り切れるはず!