Public feed #725930

Something

public text v1 · immutable
Raw Edit
·published 2007-10-04 19:44 UTC
rendered paste body
sub lastlog {
        local($account)=@_;


        #$account=$ARGV[0];

        @months = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug',
                   'Sep', 'Oct', 'Nov', 'Dec');

        $oneyear = 60*60*24*365.24/2;

        setpwent;
        $uid = getpwnam($account);
        $name = getpwuid($uid);
        $names{$uid} = $name;
        endpwent;

        open(LASTL,'/var/adm/lastlog');

        for ($uid = 0; read(LASTL, $record, 28); $uid++) {

                if ( $names{$uid} =~ $account ) {

                        ($time, $line, $host) = unpack('l A8 A16', $record);
                        next unless $time;

                        $host = "($host)" if $host;
                        ($sec, $min, $hour, $mday, $mon, $year) = localtime($time);


                        if (time - $time > $oneyear) {
                                printf "%-9s%-8s%s %2d %4d    %s\n",
                                $names{$uid}, $line, $months[$mon], $mday, 1900+$year, $host;
                        } else {
                                printf "%-9s%-8s%s %2d %02d:%02d   %s\n",
                                $names{$uid}, $line, $months[$mon], $mday, $hour, $min, $host;
                        }
                }
        }
}