どもども、お疲れ気味のヤガー@yagerです。
忙殺されていると、なかなか自分がどのくらい働いているかも分からなくなってくる場合がありますが、月末月初は勤怠報告などで自分の稼働時間を泣きながらまとめている人も結構いるのではないでしょうか?ボクらの業界だと基本的にPC開いて仕事をしているので、PCの起動時間が分かれば大体の勤務時間がわかるかも?と思い調べてみました。
Mac限定ですのであしからず。
- 確認環境
- MacBook Late 2008
- Mac OS X 10.8.4
lastコマンドで調べる
BSDベースのMac OSではlastコマンドが使えます。
ログインしたユーザーの情報などが閲覧できますが、OSのrebootやシャットダウンの時間も一覧できます。
ターミナルを開いて、コマンド入力します。
$ last shutdown reboot
すると・・・
reboot ~ Mon Jul 29 23:06 reboot ~ Fri Jul 26 15:50 reboot ~ Mon Jul 22 10:10 shutdown ~ Mon Jul 22 10:09 reboot ~ Wed Jul 17 14:09 shutdown ~ Wed Jul 17 14:08 reboot ~ Wed Jul 17 14:03 : :
こんな感じで表示されました。
システムログからスリープ履歴を抽出
さて、lastコマンドで事は足りたのかというとそうではなく、実はボクはほとんどMacBookをシャットダウンさせないんです。PC作業が終わって移動する場合はそのままディスプレイを閉じてスリープ状態にするだけです。
ということは、シャットダウンを調べてもダメだと分かります。
では、スリープしたタイミングを一覧するには?と調べてみたらシステムログに記録されている事がわかりました。
この辺にあります。
/var/log/system.log
ここからスリープになったタイミング(sleep)と、スリープ解除されたタイミング(Wake)を抽出すればいいので、以下のようなコマンドを実行してみました。
$ sudo grep "\: \(sleep\|Wake\)" /var/log/system.log
で、これだと1日分しか見れないので、過去1週間分がbz2で圧縮されて保存されているのでそちらも見るためには下記のようなコマンドを実行します。
$ sudo bzgrep "\: \(sleep\|Wake\)" /var/log/system.log*bz2
grepしただけだと複数ファイル間で時系列に並ばないので、ちょっと見難いですけど大体分かりますね。
てか、こういう情報だけ記録・閲覧するだけのアプリもありそうだな。
どなたかご存知でしたら教えて下さい。