在Linux中查找登录时间

2024-05-15 06:14:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图计算登录到我的系统的次数(基本上是系统引导)。在

我正在使用lastUnix命令。但是,它不允许我提取超过一定数量的条目。我假设它从中提取的日志文件/var/log/wtmp,在某个大小之后被覆盖。在

我看到我也有一个wtmp.1文件,所以使用-f参数,我可以使用这个参数再返回一个月的日志。想知道后面的日志是否在某处存档。在

所以,我的问题是:有没有一种方法可以获取更老的条目。在

以下是我正在进行的last调用:

last -n 10000|grep "system"

下面是输出的最后几行

^{pr2}$

我无法及时获取日志。在

  1. 这是正确的方法吗?在
  2. 我们如何看待旧的日志?例如,如果我传递-n 10000-n 1000000,则得到相同的输出。在

最后,我将编写一个快速的Python脚本来从subprocess模块解析这个o/p。在

编辑:以下大多数答案是正确的。不幸的是只能接受一个答案。原木一去不复返了!在


Tags: 文件方法答案命令log参数数量var
2条回答

last命令从wtmp文件中获取信息(/var/log/wtmp在我当前的系统中,但实际路径可能不同)。在大多数发行版中,该文件通常会定期循环,并保留一定数量的以前的文件,您应该能够使用last -f <filename>访问这些文件(尽管您可能需要先解压缩旧文件)。在

last搜索文件/var/log/wtmp。 所以关于2)它只能列出wtmp中包含的那些条目。(使用参数f指定任何其他文件)例如,如果使用日志旋转器旋转该文件,默认情况下它不会看到这些条目。 1) 视情况而定;—)

您只能列出日志(resp。旋转日志仍然存在)

你没有说你运行的是哪种类型的unix/linux,但在我的Ubuntu主机上,这在最后一次引导时非常有效

for f in /var/log/wtmp*; do last -f $f reboot;done

它所做的就是在/var/log中找到所有的wtmp文件,然后过滤掉重新启动的用户

相关问题 更多 >

    热门问题