python - 在 Linux 中查找登录时间

标签 python linux unix boot

我试图找出登录我的系统的时间(基本上是系统启动)。

我正在使用 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) 

我无法及时获得日志。

  1. 这是正确的方法吗?
  2. 我们如何查看较旧的日志?例如,如果我传递 -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/

相关文章:

python - 使用Python求数组中奇数之和的函数?

java - 如何在授权 Java 程序写入 Web 服务器文件夹时保护它

unix - 使用 Sed 将一个字符串替换为另一个字符串?

Perl 的菱形运算符 : can it be done in bash?

Python 线程不返回值

python - 评估数字和的调试函数

python - 获取列表中小于特定元素的最小元素的最快方法

linux - 向 BASH 脚本添加本地化语言支持

python - 如何授予用户在 bash 中创建和写入文件的权限?

c - 通过 telnet 发送击键