2009年3月24日火曜日

Ubuntuで起動時刻を取得する

 PCの稼動時間は uptime コマンドで取得できますが、
$ uptime
20:19:56 up 9:24, 3 users, load average: 0.11, 0.20, 0.21
起動した日時を取得するには last コマンドで取得できます。
$ last -R -1 reboot
reboot system boot Tue Mar 24 10:55 - 20:20 (09:24)

wtmp begins Sun Mar 1 16:13:24 2009
あるいは、
$ last -R -1 reboot | grep boot |  awk '{print $4, $5, $6, $7}'

Tue Mar 24 10:55
で抜き出すとか。

 後は現在時刻からuptimeで得られる稼働時間を引けば起動時刻が求められるので、計算して得るなら以下のようなシェルスクリプトを用意し、

#!/bin/sh
# last updated : 2009/03/24 19:41:43 JST
# 起動した時刻を表示する。

UPTIME=`cat /proc/uptime | awk '{print $1 }'`
NOW=`date +"%s"`
STIME=`echo "$NOW - $UPTIME" | bc`
awk 'BEGIN{print strftime("%c",'"$STIME"');exit}'
starttime.sh などという名前で保存し、実行すれば、
$ starttime.sh

2009年03月24日 10時55分08秒
などと表示される。perlやrubyに慣れている人ならワンライナーでもっと簡潔に書けるでせう。

 ちなみになんの役に立つのかはわからない・・・

0 件のコメント: