回答:
1か月よりも履歴をさかのぼる必要がある場合/var/log/wtmp.1は、lastコマンドでファイルを読むことができます。
last -f wtmp.1 johnユーザーのログインの前月の履歴が表示されますjohn。
最後のログ出力は重すぎず、比較的簡単に解析できるため、おそらく特定の日付パターンを探すために出力をgrepにパイプします。
last john | grep -E 'Aug (2[0-9]|30) '8月20〜30日を表示します。または次のようなもの:
last -f /var/log/wtmp.1 john | grep -E 'Jul (1[0-9]|2[0-9]|30) 'ユーザーの7月10日から30日までを取得しますjohn。
Linuxで特定の日付範囲のログイン履歴を抽出する方法は?
25から28 / Augまでのすべてのユーザーログインを一覧表示する例:
last | while read line
do
    date=`date -d "$(echo $line | awk '{ print $5" "$6" "$7 }')" +%s`
    [[ $date -ge `date -d "Aug 25 00:00" +%s` && $date -le `date -d "Aug 28 00:00" +%s` ]] && echo $line
done
awk '{ print $5" "$6" "$7 }'last出力から対応する列の日時を抽出する+%s 日時をエポック時間に変換する-ge 以上の略-le 以下の略特定のユーザーに対してを使用して行うこともできますlast <username>。
last出力は非常に読みやすいので、grep はきれいになりませんか?
                    grep「8月15日09:00」から「8月25日21:00」までできますか?