Відповіді:
Якщо вам потрібно повернутися назад в історію, ніж на один місяць, ви можете прочитати /var/log/wtmp.1
файл із last
командою.
last -f wtmp.1 john
покаже історію входів для попереднього місяця для користувачів john
.
Вихід останнього журналу не надто важкий і порівняно простий для розбору, тому я, мабуть, передавав би результат у грепп, щоб шукати конкретний шаблон дати.
last john | grep -E 'Aug (2[0-9]|30) '
показати 20-30 серпня. Або щось на кшталт:
last -f /var/log/wtmp.1 john | grep -E 'Jul (1[0-9]|2[0-9]|30) '
придбати 10-30 липня для користувача john
.
Як витягнути історію входу для конкретного діапазону дат у Linux?
Приклад для переліку всіх користувачів, які входять з 25 по 28 серпня:
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
з "15 серпня 09:00" до "25 серпня 21:00"?