1
2
3
4
5
6
7
8
9
10
11
12
13
|
#!/usr/bin/perl
# This assumes your /etc/utmp file looks like ours
open(utmp,'/etc/utmp');
@mo = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
while (read(utmp,$utmp,36)) {
($line,$name,$host,$time) = unpack('A8A8A16l',$utmp);
if ($name) {
$host = "($host)" if $host;
($sec,$min,$hour,$mday,$mon) = localtime($time);
printf "%-9s%-8s%s %2d %02d:%02d %s\n",
$name,$line,$mo[$mon],$mday,$hour,$min,$host;
}
}
|