在我的Debian Squeeze服务器中,所有用户login和注销都logging在文件/var/log/auth.log
Jan 28 07:11:06 xen8 sshd[29826]: pam_unix(sshd:session): session opened for user root by (uid=0) Jan 28 07:33:47 xen8 sshd[29826]: pam_unix(sshd:session): session closed for user root Jan 28 09:45:58 xen8 sshd[14374]: pam_unix(sshd:session): session opened for user root by (uid=0) Jan 28 09:47:36 xen8 sshd[14374]: pam_unix(sshd:session): session closed for user root Jan 29 07:37:48 xen8 sshd[24940]: pam_unix(sshd:session): session opened for user root by (uid=0) Jan 29 07:38:11 xen8 sshd[24940]: pam_unix(sshd:session): session closed for user root Jan 29 08:35:13 xen8 sshd[25707]: pam_unix(sshd:session): session opened for user root by (uid=0) Jan 29 08:37:06 xen8 sshd[25707]: pam_unix(sshd:session): session closed for user root Jan 29 16:59:39 xen8 sshd[30725]: pam_unix(sshd:session): session opened for user root by (uid=0) Jan 29 17:00:58 xen8 sshd[30725]: pam_unix(sshd:session): session closed for user root Jan 29 17:11:17 xen8 sshd[30832]: pam_unix(sshd:session): session opened for user root by (uid=0) Jan 29 18:11:37 xen8 sshd[30832]: pam_unix(sshd:session): session closed for user root
通过进程ID,应该能够find匹配的login/注销,然后可以计算时间。 但是我的sed / awk技能是非常有限的,甚至可能还有一个现成的脚本/工具来完成这个任务呢? 有没有简单的方法来提取用户login的时间? 要么总共(每个文件),或者甚至有一些漂亮的graphics?
ac实用程序将为您提供有关用户login的统计信息。 例如,要查看总秒数/分钟/小时,名为user1的用户在系统上 –
ac -d user1
产量
Jan 22 total 4.19 Jan 23 total 8.01 Jan 24 total 7.84 Jan 25 total 6.79 Jan 28 total 7.37 Jan 29 total 8.69 Today total 7.15
尝试last命令。 这应该显示您正在寻找的所有信息。
最后一个命令输出的最后一列将显示你想要的
iain pts/0 host Mon Jan 28 22:44 - 23:12 (00:27)