指定の時刻にLinuxマシンを自動起動

OS: Ubuntu Server 14.04
マザーボード: FH97

何を差し置いてもまずはこの機能が使えるかどうかを確かめておかねばならない。カーネルログの中身をrtcという単語で探索してやるとよいようである。

$ grep -i rtc /var/log/kern.log
Apr 28 22:45:14 guro-desktop kernel: [    1.607344] rtc_cmos 00:06: RTC can wake from S4

RTC can wake from S4ということだからS4(ハイバネーション)からの復帰が可能であるようである。あとは起動したい時刻を/sys/class/rtc/rtc0/wakealarmへ放り込んでゆく。放り込む時刻はUNIX時間の形式である。5分後のUNIX時間を放り込むならこういう具合である。

$ sudo su -c 'date "+%s" -d "5 minutes" > /sys/class/rtc/rtc0/wakealarm'
$ cat /sys/class/rtc/rtc0/wakealarm
1524925634

もそっと人に見やすい形で起動時刻を確認するなら/proc/driver/rtcのalrm_timeとalrm_dateを見れば宜しい。あとはシャットダウンして起動時刻を待つ。

$ cat /proc/driver/rtc
rtc_time        : 23:22:14
rtc_date        : 2018-04-28
alrm_time : 23:27:14 
alrm_date : 2018-04-28
(snip)

これでパソコンに詳しくない人が突如起動するマシンに、こはいかに、と驚いて腰を抜かす様を物陰から覗うことができるようになるのである。

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください