我的问题受到项目的启发rawhen
该项目使用命令(源代码last -R -F reboot
中的第 163 行)来查看计算机运行的时间段。您可以在文档中看到,该命令允许我们查看例如.83 days ago - 447 hours
该项目已经 4 年没有更新了。
2年前在这个网站上有人问过这个问题:如何使用“last”命令读取旧的登录信息?答案表明:
last -2000 -f /var/log/wtmp.1 // 83 lines (28 days)
如果我过滤这个我得到。
last -R -F reboot -f /var/log/wtmp.1 // 33 lines (28 days)
但在这个答案中,建议的行数是 2000,并且似乎有一个日志假设,比如数字/var/log/wtmp.x
在哪里x
。
在我/var/log
只有两个文件wtmp
:
wc /var/log/wtmp*
3 19 6144 /var/log/wtmp
37 253 93696 /var/log/wtmp.1
40 272 99840 together
这些文件仅包含过去 1-2 个月的数据。
我的问题是:
如何访问最旧的日志或防止 Ubuntu 删除它们,或将这些日志保存在一个文件中(我只需要重新启动过滤器)而不会出现连接这些数据的问题。
我的系统是 Ubuntu 16.04。它是标准家庭版,而不是服务器。
这可能是一个意外,但我明白了,rawhen
它显示478 h
上个月计算机打开了 447 小时,本月打开了 10 小时。是否有任何运行系统的时间之后删除日志?
我不确定我是否正确理解了您的问题,但是要解决您的问题(粗体部分),您应该更改
logrotate
配置。看看这个文件:
应该有如下几行:
如果从文件中删除这些行,“logrotate”不再删除此日志,您可以将“monthly”更改为“yearly”,使其在一年后删除文件;
rotate 1
意味着在删除旧的备份之前保留一份备份:如果将其更改为 2,您将获得: