![/var/log 中日志文件的压缩设置](https://linux22.com/image/852047/%2Fvar%2Flog%20%E4%B8%AD%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%9A%84%E5%8E%8B%E7%BC%A9%E8%AE%BE%E7%BD%AE.png)
对于 中的日志文件/var/log
,
似乎wtmp
和 以及旋转的wtmp.n
都不是 ASCII 文件,只能通过命令读取last
,因此如果它们是压缩的,则必须先解压缩它们,然后才能last -f ...
读取。其他压缩日志文件可以使用 emacs 等编辑器轻松读取,因为它们是 ASCII 文本文件。
有没有办法为除wtmp.n?
(我假设如果取消注释#compress
中的/etc/logrotate.conf
,
# uncomment this if you want your log files compressed
#compress
那么所有日志文件都将被压缩,包括wtmp
。)
谢谢
答案1
/var/log/wtmp
不是文本文件,但也不是压缩文件。它是一个二进制文件,要解码它,你需要一个专用工具,称为rawtmp
可用囊包裹。
sudo apt-get install sac
要访问 wtmp 日志,请在终端中输入:
rawtmp | less
或者解码第一个 wtmp 档案:
rawtmp -w /var/log/wtmp.1 | less
编辑:要覆盖logrotate
压缩设置,wtmp
您只需编辑 /etc/logrotate.conf 文件:
sudo gedit /etc/logrotate.conf
添加nocompress
指令:
/var/log/wtmp {
nocompress
missingok
monthly
create 0664 root utmp
rotate 12
}
来自logrotate
手册页:
nocompress
Old versions of log files are not compressed. See also compress.