我有 100 台机器的 lastlog 需要解析。由于我将它们全部集中存放,有没有办法解析它们?还是我需要返回到每台机器并键入“lastlog”命令,然后获取输出?
谢谢。
答案1
一个超级黑客的解决方案就是备份你机器的/var/log/lastlog
,然后用另一台机器上的文件替换它。运行lastlog
查看其内容,然后替换你机器上的文件
mv /var/log/lastlog /var/log/lastlog.real
cp /your/custom/lastlog /var/log/lastlog
lastlog
mv /var/log/lastlog.real /var/log/lastlog
答案2
标准 lastlog 命令没有读取备用 lastlog 数据文件的选项,但您可以直接获取此文件的源代码并进行调整。或者使用您最喜欢的语言来解析它 - 只需标准 utmp 记录。
请注意,如果您的用户具有较高的 uid,则复制 lastlog 文件可能会导致目标文件很大。默认情况下,lastlog 文件很稀疏(因此 ls -l 显示它们很大,但 du -s 反映的是实际大小)。
答案3
tail -n25 $(find /var/log/lastlog -maxdepth 1 -type f -mtime -1 | grep -v "wtmp" | grep -v "lastlog" ) | more
可能会有帮助