Yanıtlar:
Bir aydan daha eski bir tarihe geri gitmeniz gerekirse, /var/log/wtmp.1
dosyayı last
komutla okuyabilirsiniz .
last -f wtmp.1 john
kullanıcı için bir önceki ayın giriş bilgilerini gösterir john
.
Son kütük çıktısı çok ağır değildir ve ayrıştırılması nispeten kolaydır, bu yüzden belirli bir tarih düzenini aramak için çıktıyı greplemek için kullanırım.
last john | grep -E 'Aug (2[0-9]|30) '
20-30 Ağustos 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’u satın alacak john
.
Linux'ta belirli bir tarih aralığına giriş geçmişi nasıl çıkarılır?
25 ila 28 / Ağustos tarihleri arasında giriş yapan tüm kullanıcıları listelemek için bir örnek:
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 }'
last
Çıktıdan ilgili sütuna tarih saatini çıkarmak+%s
datetime'ı Epoch zamanına dönüştürmek için-ge
eşit veya daha büyük-le
eşit veya daha az bekletmekAyrıca belirli bir kullanıcı için de yapabilirsiniz last <username>
.
last
Çıktı oldukça okunaklı olduğu için grep daha temiz olmaz mıydı ?
grep
"Aug 25 21:00" den "15 Ağu 09:00" dan?