Réponses:
Vous pouvez essayer la lastcommande:
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.1fichier à l’aide de la lastcommande.
last -f wtmp.1 johnaffichera l’historique des connexions du mois précédent pour l’utilisateur john.
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 utilisateur john.
Comment extraire l'historique de connexion pour une plage de dates spécifique sous Linux?
Un exemple pour lister tous les utilisateurs connectés du 25 au 28 août:
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 }'extraire la date et l'heure de la colonne correspondante de la lastsortie+%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>.
lastsortie est assez lisible?
grepdu "15 août à 09h00" au "25 août à 21h00"?