SSH 注销后 Lastlog 增长到 4.2G

SSH 注销后 Lastlog 增长到 4.2G

运行装有 Ubuntu 12.04.5 LTS 的 VPS。发现磁盘使用量激增。原来罪魁祸首是 lastlog。用 覆盖了它>/var/log/lastlog

退出会话并重新登录后,lastlog 的大小再次增加:

-rw-rw-r-- 1 root utmp 4.2G May  5 06:32 /var/log/lastlog

这是已知的吗?我怎样才能阻止 lastlog 占用这么多空间?

谢谢你!

答案1

/var/log/lastlog文件意味着其实际大小不是由 报告的,ls -l而是由 报告的ls -s。这意味着您的 lastlog 可能没有您想象的那么大:

尝试:

ls -s /var/log/lastlog

获得其块大小的报告。

突然增长/var/log/上次日志意味着高唯一标识用户已注销。查看 lastlog手册页

编辑 -要解决这个问题

您可以使用命令找出最后注销的用户lastlog

确保用户未使用w命令登录后,将其唯一标识。请参阅“如何更改用户 gid 和 uid

/var/log/lastlog然后像你已经做的那样清除

> /var/log/lastlog

笔记:使用 uid 6565666,我只得到了 1.8G /var/log/lastlog。所以你的用户的 uid 必须高于 26262664 ???

答案2

正如在接受的答案中已经解释的那样,这是一个稀疏文件,实际上并不像看起来那么大。

但是,备份文件实际上会很大,这可能是备份的问题。因此,对于像我一样因为备份太大而来到这里的人来说:

如果要备份/var/log,请使用rsync并使用其--sparse(或-S)选项。

man rsync

-S,--稀疏

尝试有效地处理稀疏文件,以便它们在目标上占用更少的空间。

如果与 --inplace 结合使用,则创建的文件可能不会以具有某些内核版本和/或文件系统类型组合的稀疏块结束。如果 --whole-file 有效(例如对于本地副本),则它将始终有效,因为 rsync 在写出更新版本之前会截断文件。

请注意,3.1.3 之前的 rsync 版本将拒绝 --sparse 和 --inplace 的组合。

相关内容