お疲れ様です。月末ですね。皆さまにおかれましては、きっちり勤怠登録を毎日おこなっているか、そもそも勤怠登録なんてない強い会社にお勤めかと思われますが、念のため、日別でMacのSleep開始、終了を記録したログ(=おおむね、PCを開いて、閉じた時間=出退勤時間?)を出力するシェルスクリプト書いたので置いておきいます。毎日勤怠登録はするべきです。
参考:Macで蓋を空けたり閉じたりした時間をログから拾う方法
https://qiita.com/AkihiroTakamura/items/5da0c1532fc509876560
環境
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.5
BuildVersion: 18F203
コード
machine_activity_time
# !/bin/bash -e
IFS=$'\n'
logs=$(/usr/bin/pmset -g log | grep "Kernel Idle sleep preventers")
last_line_cnt=`echo "$logs" | /usr/bin/wc | /usr/bin/awk '{print $1}'`
cnt=0
prev_line=''
prev_log_date=''
for line in $logs;
do
cnt=`expr $cnt + 1`
log_date=`echo $line | cut -d ' ' -f 1`
# 一行目
if [ "$prev_line" = "" ];
then
echo $line | cut -d ' ' -f -3
prev_log_date=$log_date
prev_line=$line
continue
fi
# 最終行
if [ $cnt -eq $last_line_cnt ];
then
echo $line | cut -d ' ' -f -3
continue
fi
if [ "$prev_log_date" != "$log_date" ];
then
echo $prev_line | cut -d ' ' -f -3
echo $line | cut -d ' ' -f -3
fi
prev_log_date=$log_date
prev_line=$line
done
実行結果
$ machine_activity_time
2019-05-21 01:37:16 +0900
2019-05-21 23:16:29 +0900
2019-05-22 00:56:57 +0900
2019-05-22 21:20:55 +0900
2019-05-23 00:05:38 +0900
2019-05-23 21:15:01 +0900
2019-05-24 09:59:55 +0900
2019-05-24 23:31:12 +0900
2019-05-25 00:35:10 +0900
2019-05-25 23:11:47 +0900
2019-05-26 01:13:30 +0900
2019-05-26 22:24:40 +0900
2019-05-27 00:22:30 +0900
2019-05-27 23:43:01 +0900
15日くらいしか残ってないし、あてになるような、ならないような感じなので、ちゃんと勤怠登録はしようと思いました。