Мне нужно знать историю входа для конкретного пользователя (т.е. время входа и выхода). Как мне извлечь эту историю для определенного диапазона дат в Linux?
94
Вы можете попробовать last
команду:
last john
Распечатывает историю входа / выхода пользователя john. В то время как работает только
last
распечатывает историю входа / выхода всех пользователей.
Если вам нужно пойти дальше в истории, чем на один месяц, вы можете прочитать
/var/log/wtmp.1
файл с помощьюlast
команды.last -f wtmp.1 john
покажет историю логинов за предыдущий месяцjohn
.Последние выходные данные журнала не слишком тяжелы и относительно просты для анализа, поэтому я бы, вероятно, передал выходные данные в grep, чтобы найти конкретный шаблон даты.
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
.источник
Пример для списка всех пользователей логин с 25 по 28 августа:
awk '{ print $5" "$6" "$7 }'
извлечь дату и время в соответствующем столбце изlast
вывода+%s
преобразовать дату и время в эпоху-ge
стоять больше или равно-le
стоять меньше или равноВы также можете сделать это для конкретного пользователя с
last <username>
.источник
last
вывод довольно читабелен?grep
с «15 августа 09:00» на «25 августа 21:00»?