Information about users who logged in last 24 hours


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Information about users who logged in last 24 hours
# 1  
Old 02-10-2012
Information about users who logged in last 24 hours

Hi,

I want to retrieve the information of a particular users in last 24 hours on my linux box in following format:

User Terminal LoggedInTime LoggedOutTime Date


I know the usage of 'last' command and search many examples in the forum but couldnt found since last command is not taking year into consideration.Thats why I am getting duplicate data. Please help me in this.
# 2  
Old 02-10-2012
Does your last command support the -t option? That one takes the year into consideration.
# 3  
Old 02-12-2012
Hi Cero.Thanks for the reply.
-t option takes YYYYMMDDHHSS as argument which will output the user details who have logged in at this particular time and day of the year. I want the user login details in last 24 hours.
# 4  
Old 02-12-2012
The -F option on the last command will generate a full date, but then it's still a bit of work to show just who has logged in during the last 24 hours:


Code:
# print all users who have logged in in the last 24 hours
# time is computed from the time that the script is executed.
 
# ouput records are complete records from last. 
last -F -R | awk -v now="$( date "+%Y %m %d %H %M %S" )" '

     BEGIN {
        soup = "JanFebMarAprMayJunJulAugSepOctNovDec";
        dim = "030101001010";
        split( now, a, " " );           # compute timestamp for yesterday
        if( (a[3] = a[3] - 1) <= 0 )    # roll to prev month?
        {
            if( (a[2] = a[2] - 1) <= 0 )    # roll to prev year?
            {
                a[1]--;
                a[2] = 12;
                a[3] = 31;
            }
            else
            {
                a[3] = 31 - substr( dim, a[2], 1 );
                if( a[2] == 2 )
                    a[3] += a[1] % 4 == 0  ? ( a[1] % 100 != 0 ? 1 : (a[1]/400 == 0 ? 1 : 0)) : 0;  # adjust for leap year
            }
        }
        old_date = sprintf( "%4d%02d%02d%02d%02d%02d", a[1], a[2], a[3], a[4], a[5], a[6] ) +0;   # finally, yesterday at this time
    }

      NF < 6 || /reboot/ || /begins/ || /still logged/ { next; }   # ignore undesired records

    {
        gsub( ":", "", $6 );                                # build timestamp from last fields
        m = int(index( soup, $4 ) / 3) + 1;
        d = sprintf( "%4d%02d%02d%s", $7, m, $5, $6 ) + 0;
        if( d > old_date )                                  # if time newer than yesterday, print
            print;
    }'

This User Gave Thanks to agama For This Post:
# 5  
Old 02-13-2012
@agama
It seems -F option is invalid for last command.I am getting following error message:

last: invalid option -- F
Usage: last [-num | -n num] [-f file] [-t YYYYMMDDHHMMSS] [-R] [-x] [-o] [username..] [tty..]
# 6  
Old 02-13-2012
What O/S are you running? I tested this on both FreeBSD and OpenSUSE Linux. I did just check a Solaris system, and the last there doesn't support -F, so I'm guessing you're running on Solaris. Other than writing something that can read and interpret /var/adm/wtmpx I'm not sure what your options are.
# 7  
Old 02-14-2012
I am using Red Hat Enterprise Linux Client release 5.4 (Tikanga). :-(
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Users logged into the system

So I'm trying to write a single line command So I have to use last first in this command and I've figured out the format my professor wants it in, something like thislast | cut -d' ' -f1,15 | sort > check | uniq -c.... and I never can get it right, when I just last command I get something... (2 Replies)
Discussion started by: DoubleAlpha
2 Replies

2. Shell Programming and Scripting

Users not logged in for last 90 days

Hi, How to find the users who did not login into a UNIX box (thru ssh/ftp or any other way) for last 90 days? I think of using "finger" or "last" command to findout each user's last login and then find number of days between today and that day. Is there any other better way or anyone prepared... (1 Reply)
Discussion started by: reddyr
1 Replies

3. UNIX for Dummies Questions & Answers

How many users are logged in?

How do I find this out? I have a feeling its a simple command such as who, but I just don't know what it is. I've had a search on here but either I can't put it into the right search criteria or there isn't a topic on it. Thanks. EDIT: Delete this thread, as I posted it I noticed the... (0 Replies)
Discussion started by: chris_rabz
0 Replies

4. Shell Programming and Scripting

Users Not Logged in

I have searched the forums but have not mangaed to quite find what im looking for. I have used to /etc/passwd command to present me a list of all users the who command to present all users currently logged on, but what i want to know is what command can i use to display users that are registered... (12 Replies)
Discussion started by: warlock129
12 Replies

5. Post Here to Contact Site Administrators and Moderators

logged out users

how to find out users who logged out within 5 minutes (1 Reply)
Discussion started by: roshni
1 Replies

6. UNIX for Advanced & Expert Users

HP-UX users get logged off while idle.

Im "supporting" at least 2500 HP-UX workstations with CAD-related software with the B.11.11 build. I cant say anymore than that because of my companys sligtly paranoid security policy . The last few days a new problem has arised from nowhere. The problem is that users gets logged off when the... (5 Replies)
Discussion started by: Laoinjo
5 Replies

7. Shell Programming and Scripting

how many users logged

in unix what is the syntax to find out how many users are currently logged in (4 Replies)
Discussion started by: trichyselva
4 Replies

8. IP Networking

Users logged in through which NIC

We have two NIC cards in our IBM RS/6000 F50 running AIX 4.3.3 We are trying to make sure we have moved all users to log in through the new NIC. 10.22.x.y (old) 10.22.x.z (new) How can I tell which users are still using the old address for logging in so I can update their work station to... (5 Replies)
Discussion started by: cburtgo
5 Replies

9. UNIX for Dummies Questions & Answers

How to know what users are logged in to account

hello all say im logged in to account ar root , but I can't change any thing there ( like username ) if someone is already logged in also . how can I know who is ( user name ) also connected to the user im using ? (2 Replies)
Discussion started by: umen
2 Replies

10. UNIX for Dummies Questions & Answers

Information about users who have logged.

Hi, Suppose I have a programme called Menu. This menu has various choices as we would expect from a Menu. Now Can you Please help me as I want the details of the Users to be registered to some file , Whoever has entered this particular Program . Basically to see the username and the time that... (2 Replies)
Discussion started by: rooh
2 Replies
Login or Register to Ask a Question