はじめに
会社の隅に置いてあったテスト用ESXiサーバが夏の暑さに耐えられず電源落ちたので、空調が動いている時間だけ動かすようにしたためその時の記録。
構成
ヤマハルータにESXiホストが直結されている極々単純な構成です。

ヤマハルータでのWoL設定
ヤマハルータにはWoL(Wake On LAN)機能があるため、指定時間にESXiホストをWoLで起動させるようにします。
尚、ESXiホストのMACアドレスは事前に調べておいてください。
schedule at 1 */Mon-Fri 08:00 * wol send lan1 [ESXiホストのMACアドレス]
上記は月~金の朝8時にWoLでESXiホストを起動させるコマンドとなります。
ESXiホスト側のcron設定
コンソール・SSHでの操作となるため、ESXiホスト側でコンソール・SSHログインできるようにしておいてください。
ESXiでは普通にcron設定を行っても再起動すると初期状態に戻ってしまうため、起動時にcron定義を再設定するようviで/etc/rc.local.d/local.shを開き、exit 0の前に書き込んでやります。
注意点はESXiホストのタイムゾーンがUTCとなっているため、UTC時間でcron設定を行う必要があります。
また、crontabが使えないので、/var/spool/cron/crontabs/rootに直接cron定義を書き込んでcrondを再起動させる必要があります。
/bin/echo "0 10 * * mon-fri /bin/poweroff" >> /var/spool/cron/crontabs/root
/bin/kill $(cat /var/run/crond.pid)
/bin/crond
# !/bin/sh
# local configuration options
# Note: modify at your own risk! If you do/use anything in this
# script that is not part of a stable API (relying on files to be in
# specific places, specific tools, specific output, etc) there is a
# possibility you will end up with a broken system after patching or
# upgrading. Changes are not supported unless under direction of
# VMware support.
/bin/echo "0 10 * * mon-fri /bin/poweroff" >> /var/spool/cron/crontabs/root
/bin/kill $(cat /var/run/crond.pid)
/bin/crond
exit 0
上記は月~金の夜19時にpoweroffコマンドでシャットダウンするcron設定となります。
その他
今回は特に何もせずできたのでやっていませんが、BIOS設定によってはESXiホスト側のBIOS設定でWake On LAN設定を有効にする必要があります。