Soru Giriş geçmişini nasıl çıkarabilirim?


Belirli bir kullanıcı için giriş geçmişini bilmem gerekiyor (ör. Giriş ve çıkış süresi), Bu tarihi Linux'ta belirli bir tarih aralığı için nasıl ayırım?


81
2017-08-28 08:00


Menşei




Cevaplar:


Deneyebilirsiniz last komut:

last john 

Bu kullanıcı john giriş / çıkış tarihini yazdırır. Sadece koşarken

last

Tüm kullanıcıların giriş / çıkış tarihlerini yazdırır.


116
2017-08-28 08:11



Bu, yalnızca çoğu Linux dağıtımında geçerli ayın değerlerini döndürür. - ewwhite


Tarihte bir aydan daha fazla geri gitmeniz gerekirse, okuyabilirsiniz. /var/log/wtmp.1 ile dosya last Komut.

last -f wtmp.1 john kullanıcı için önceki ayın giriş tarihçesini gösterecek john.

Son günlük çıktısı çok ağır ve ayrıştırılamayacak kadar kolay değil, bu yüzden muhtemelen belirli bir tarih desenini aramak için çıktıyı grep'e pipetleyeceğim.

last john | grep -E 'Aug (2[0-9]|30) ' 20-30 Ağustos'u göstermek için. Ya da şöyle bir şey:

last -f /var/log/wtmp.1 john | grep -E 'Jul (1[0-9]|2[0-9]|30) ' kullanıcı için 10-30 Temmuz john.


40
2017-08-28 08:54





Linux'ta belirli bir tarih aralığı için giriş geçmişi nasıl çıkarılır?

25 ile 28 / Ağustos arasında giriş yapan tüm kullanıcıları listeleme örneği:

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 }' tarih saatini ilgili sütunda last çıktı
  • +%s datetime Epoch zamanına dönüştürmek için
  • -ge daha büyük veya eşit dur
  • -le daha az veya eşit dur

İle belirli bir kullanıcı için de yapabilirsiniz last <username>.


18
2017-08-28 08:50



Bu çok çirkin bir ifade. Grep bu yana temizleyici olmaz last çıktı oldukça okunabilir mi? - ewwhite
Yapabilir misin grep "Aug 15 09:00" dan "Ağu 25 21:00" ye? - quanta
OP, zaman aralıkları istemedi. - ewwhite
@ewwhite ifadesi bana güzel görünüyor, bash sözdizimi görünümünü sevmiyorsanız, bu sizin için bir site olmayabilir. - ekerner
@ekerner Haklısınız. Başka bir yere gideceğim;) - ewwhite