我试图找出登录我的系统的时间(基本上是系统启动)。
我正在使用 last
Unix 命令。但是,它不允许我提取超过一定数量的条目。我假设它从中提取的日志文件 /var/log/wtmp
在一定大小后被覆盖。
我看到我还有一个 wtmp.1
文件,所以使用 -f
参数我可以使用此参数返回一个月前的日志。想知道更早的日志是否存档在某处。
所以,我的问题是:有没有办法获取较旧的条目。
以下是我正在进行的最后
调用:
last -n 10000|grep "system"
这是输出的最后几行
reboot system boot 3.5.0-36-generic Sun Jul 7 07:07 - 22:08 (15:01)
reboot system boot 3.5.0-36-generic Sat Jul 6 23:23 - 23:23 (00:00)
reboot system boot 3.5.0-34-generic Sat Jul 6 09:40 - 23:22 (13:42)
reboot system boot 3.5.0-34-generic Sat Jul 6 09:38 - 09:39 (00:00)
reboot system boot 3.5.0-34-generic Sat Jul 6 06:40 - 09:39 (02:58)
reboot system boot 3.5.0-34-generic Sat Jul 6 06:15 - 06:17 (00:02)
reboot system boot 3.5.0-34-generic Sat Jul 6 06:13 - 06:17 (00:03)
reboot system boot 3.5.0-34-generic Fri Jul 5 19:30 - 22:34 (03:03)
我无法及时获得日志。
- 这是正确的方法吗?
- 我们如何查看较旧的日志?例如,如果我传递
-n 10000
或-n 1000000
,我会得到相同的输出。
最终我会编写一个快速的 Python 脚本来解析来自子进程模块的这个 o/p。
编辑:下面的大部分答案都是正确的。不幸的是只能接受一个答案。原木曾经消失了!
最佳答案
你没有说你运行的是什么类型的 unix/linux,但在我的 Ubuntu 主机上,这对最后一次启动时间很有效
for f in /var/log/wtmp*; do last -f $f reboot;done
它所做的就是找到/var/log 中的所有wtmp 文件,然后过滤掉重启用户
关于python - 在 Linux 中查找登录时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17727267/