Necesito conocer el historial de inicio de sesión para un usuario específico (es decir, tiempo de inicio y cierre de sesión). ¿Cómo extraigo este historial para un rango de fechas específico en Linux?
94
Puedes probar el last
comando:
last john
Imprime el historial de inicio de sesión / salida del usuario john. Mientras que correr solo
last
imprime el historial de inicio de sesión / salida de todos los usuarios.
Si necesita retroceder más de un mes en el historial, puede leer el
/var/log/wtmp.1
archivo con ellast
comando.last -f wtmp.1 john
mostrará el historial de inicios de sesión del mes anterior para el usuariojohn
.El último resultado del registro no es demasiado pesado y relativamente fácil de analizar, por lo que probablemente canalizaría el resultado a grep para buscar un patrón de fecha específico.
last john | grep -E 'Aug (2[0-9]|30) '
para mostrar del 20 al 30 de agosto. O algo como:last -f /var/log/wtmp.1 john | grep -E 'Jul (1[0-9]|2[0-9]|30) '
adquirir del 10 al 30 de julio para el usuariojohn
.fuente
Un ejemplo para enumerar todos los usuarios que inician sesión del 25 al 28 / agosto:
awk '{ print $5" "$6" "$7 }'
para extraer la fecha y hora en la columna correspondiente de lalast
salida+%s
para convertir la fecha y la hora en la época-ge
significar mayor o igual-le
representar menos o igualTambién puede hacerlo para usuarios específicos con
last <username>
.fuente
last
salida es bastante legible?grep
del "15 de agosto a las 09:00" al "25 de agosto a las 21:00"?