Saya perlu mengetahui riwayat masuk untuk pengguna tertentu (mis. Waktu masuk dan keluar), Bagaimana cara mengekstrak riwayat ini untuk rentang tanggal tertentu di Linux?
94
Anda dapat mencoba last
perintah:
last john
Mencetak riwayat masuk / keluar pengguna john. Padahal berjalan saja
last
mencetak riwayat masuk / keluar semua pengguna.
Jika Anda perlu melihat lebih jauh dalam sejarah lebih dari satu bulan, Anda dapat membaca
/var/log/wtmp.1
file denganlast
perintah.last -f wtmp.1 john
akan menampilkan riwayat login untuk pengguna bulan sebelumnyajohn
.Output log terakhir tidak terlalu berat dan relatif mudah diurai, jadi saya mungkin akan mem-pipe output ke grep untuk mencari pola tanggal tertentu.
last john | grep -E 'Aug (2[0-9]|30) '
untuk menunjukkan 20-30 Agustus. Atau sesuatu seperti:last -f /var/log/wtmp.1 john | grep -E 'Jul (1[0-9]|2[0-9]|30) '
untuk memperoleh 10-30 Juli untuk penggunajohn
.sumber
Contoh untuk mendaftar semua pengguna yang masuk dari 25 hingga 28 Agustus
awk '{ print $5" "$6" "$7 }'
untuk mengekstrak waktu tanggal pada kolom yang sesuai darilast
output+%s
untuk mengubah datetime ke waktu Epoch-ge
berdiri lebih besar atau sama-le
berdiri kurang dari atau samaAnda juga dapat melakukannya untuk pengguna tertentu
last <username>
.sumber
last
output cukup mudah dibaca?grep
mulai dari "15 Agustus 09:00" hingga "25 Agustus 21:00"?