Řešení 1:
Můžete zkusit last
příkaz:
last john
Vytiskne historii přihlášení/odhlášení uživatele john. Zatímco běží jen
last
vytiskne historii přihlášení/odhlášení všech uživatelů.
Řešení 2:
Pokud se potřebujete vrátit do historie více než jeden měsíc, můžete si přečíst /var/log/wtmp.1
soubor s last
příkaz.
last -f wtmp.1 john
zobrazí historii přihlášení uživatele john
za předchozí měsíc .
Poslední výstup protokolu není příliš těžký a relativně snadno se analyzuje, takže bych pravděpodobně výstup převedl do grepu, abych hledal konkrétní vzor data.
last john | grep -E 'Aug (2[0-9]|30) '
ukázat 20.–30. srpna. Nebo něco jako:
last -f /var/log/wtmp.1 john | grep -E 'Jul (1[0-9]|2[0-9]|30) '
získat 10.–30. července pro uživatele john
.
Řešení 3:
Jak extrahovat historii přihlášení pro konkrétní časové období v Linuxu?
Příklad pro výpis všech přihlášených uživatelů od 25. do 28. srpna:
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 }'
extrahovat datum a čas v odpovídajícím sloupci zlast
výstup+%s
převést datum a čas na čas epochy-ge
znamená větší než nebo rovno-le
znamená menší nebo rovno
Můžete to také provést pro konkrétního uživatele pomocí last <username>
.