linux收集登录用户、启动日志及启动故障的相关信息

简介

Linux包含了一些能够报告运行系统各方面信息的命令,其中包括当前登录用户、主机加电时间以及启动故障。这些数据可用于分配系统资源和故障诊断。

介绍以下命令:who、w、users、uptime、last和lastb。

案例练习

(1)who命令可以获取当前登录用户的相关信息

root@yyy-PC:~# who
yyy      tty1         2021-09-11 15:36 (:0)
root     pts/1        2021-09-11 15:42 (192.168.58.101)
root     pts/2        2021-09-11 15:43 (::1)
root@yyy-PC:~# 

该命令会显示出登录名、用户所使用的TTY、登录时间以及登录用户的远程主机名(或者X显示信息)。

TTY(该术语取自TeleTYperwriter)是与文本终端相关联的设备文件。当用户生成一个新终端时,对应的设备文件就会出现在/dev中(例如 /dev/pts/3)。可以通过执行命令tty来获得当前终端的设备路径。

(2)w命令可以获得有关登录用户更详细的信息:

root@yyy-PC:~# w
 16:22:29 up 46 min,  3 users,  load average: 0.06, 0.08, 0.08
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
yyy      tty1     :0               15:36    8:46m  4.37s  1.50s /usr/bin/startdde
root     pts/1    192.168.58.101   15:42    0.00s  0.10s  0.08s ssh -L 8000:www.baud
root     pts/2    ::1              15:43    0.00s  0.09s  0.00s w
root@yyy-PC:~# 

第一行列出了当前时间、系统运行时间、当前登录的用户数量以及过去的1/5/15分钟内的系统平均负载。接下来在每一行中显示了每个登录会话的详细信息,其中包括登录名、TTY、远程主机、登录时间、空闲时间、该用户登录后所使用的总CPU时间、当前运行进程所使用的CPU时间以及进程所对应的命令行。

uptime命令输出中的平均负载(load average)是表明系统负载量的一个参数

(3)users命令只列出当前的登录用户列表:

root@yyy-PC:~# users
root root yyy

如果某个用户有多个登录会话,不管是远程登录还是打开了多个终端窗口,那么该用户会被多次显示。在上面的输出中,用户root打开了2个终端会话。排除重复用户的最简单的方法是使用sort和uniq进行过滤:

(4)uptime命令可以查看系统的加电运行时长:
root@yyy-PC:~# uptime
16:27:06 up 51 min, 3 users, load average: 0.20, 0.13, 0.10

单词up之后的时间表明了系统已经加电运行了多久。

(5)last命令可以获取自文件/var/log/wtmp创建之后登录过系统的用户列表。这可能会追溯到一年之前(甚至更久):

root@yyy-PC:~# last
root     pts/2        ::1              Sat Sep 11 15:43   still logged in
root     pts/1        192.168.58.101   Sat Sep 11 15:42   still logged in
root     pts/3        192.168.58.101   Sat Sep 11 15:38 - 15:39  (00:00)
root     pts/2        ::1              Sat Sep 11 15:38 - 15:42  (00:04)
root     pts/1        192.168.58.101   Sat Sep 11 15:37 - 15:42  (00:05)
yyy      tty1         :0               Sat Sep 11 15:36   still logged in
reboot   system boot  5.10.50-amd64-de Sat Sep 11 07:35   still running
root     pts/1        192.168.58.101   Sat Sep 11 11:10 - crash  (-3:35)
yyy      pts/1        ::1              Sat Sep 11 11:07 - 11:09  (00:01)
yyy      tty1         :0               Sat Sep 11 11:03 - crash  (-3:27)
reboot   system boot  5.10.50-amd64-de Sat Sep 11 11:01   still running

wtmp begins Sat Sep 11 11:01:30 2021

last命令会输出登录用户、用户所使用的tty、登录位置(IP地址或本地终端)、登录时间、登出时间、会话时长。伪用户名reboot表示系统重启。

(6)last命令也可以获取指定用户信息:

$  last  USER

(7)上述命令中的USER可以是系统真实用户,也可以是伪用户reboot:

root@yyy-PC:~# last reboot
reboot   system boot  5.10.50-amd64-de Sat Sep 11 07:35   still running
reboot   system boot  5.10.50-amd64-de Sat Sep 11 11:01   still running

wtmp begins Sat Sep 11 11:01:30 2021

(8)lastb命令可以获取失败的用户登录会话信息:

root@yyy-PC:~# lastb 
root     ssh:notty    192.168.58.101   Sat Sep 11 15:38 - 15:38  (00:00)
yyy      tty1         :0               Sat Sep 11 15:36 - 15:36  (00:00)
root     ssh:notty    192.168.58.101   Sat Sep 11 11:10 - 11:10  (00:00)
root     ssh:notty    ::1              Sat Sep 11 11:07 - 11:07  (00:00)
root     ssh:notty    ::1              Sat Sep 11 11:07 - 11:07  (00:00)
root     ssh:notty    ::1              Sat Sep 11 11:07 - 11:07  (00:00)
root     pts/0                         Sat Sep 11 11:05 - 11:05  (00:00)

btmp begins Sat Sep 11 11:05:18 2021

你必须以root用户的身份运行lastb。

last和lastb输出的都是文件/var/log/wtmp的内容。默认输出事件发生的月份、天数和时间。但是该文件中可能包含了长达数年的数据,只使用“月份/天数”这种格式会造成混淆。选项-F可以输出完整的日期.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值