Yanıtlar:
Bir aydan daha eski bir tarihe geri gitmeniz gerekirse, /var/log/wtmp.1dosyayı lastkomutla okuyabilirsiniz .
last -f wtmp.1 johnkullanı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?