J'ai besoin de connaître l'historique de connexion pour un utilisateur spécifique (c'est-à-dire la connexion et l'heure de déconnexion). Comment extraire cet historique pour une plage de dates spécifique sous Linux?
94
Vous pouvez essayer la last
commande:
last john
Il affiche l'historique de connexion / déconnexion de l'utilisateur john. Alors que courir juste
last
affiche l'historique de connexion / sortie de tous les utilisateurs.
Si vous devez remonter plus d’un mois dans l’historique, vous pouvez lire le
/var/log/wtmp.1
fichier à l’aide de lalast
commande.last -f wtmp.1 john
affichera l’historique des connexions du mois précédent pour l’utilisateurjohn
.La dernière sortie du journal n'est pas trop lourde et relativement facile à analyser, je vais donc probablement diriger la sortie vers grep pour rechercher un modèle de date spécifique.
last john | grep -E 'Aug (2[0-9]|30) '
montrer 20-30 août. Ou quelque chose comme:last -f /var/log/wtmp.1 john | grep -E 'Jul (1[0-9]|2[0-9]|30) '
acquérir du 10 au 30 juillet pour un utilisateurjohn
.la source
Un exemple pour lister tous les utilisateurs connectés du 25 au 28 août:
awk '{ print $5" "$6" "$7 }'
extraire la date et l'heure de la colonne correspondante de lalast
sortie+%s
convertir date / heure en époque-ge
représenter plus grand ou égal-le
représenter moins ou égalVous pouvez également le faire pour un utilisateur spécifique avec
last <username>
.la source
last
sortie est assez lisible?grep
du "15 août à 09h00" au "25 août à 21h00"?