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 lastcomando:
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.1archivo con ellastcomando.last -f wtmp.1 johnmostrará 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 lalastsalida+%spara convertir la fecha y la hora en la época-gesignificar mayor o igual-lerepresentar menos o igualTambién puede hacerlo para usuarios específicos con
last <username>.fuente
lastsalida es bastante legible?grepdel "15 de agosto a las 09:00" al "25 de agosto a las 21:00"?