max*_*zig 124 logs logrotate rsyslog tail
在长时间运行的系统上,我通常有一个终端
$ tail -f /var/log/kern.log
Run Code Online (Sandbox Code Playgroud)
或类似的东西打开。
但有时我必须重新启动此类命令,因为不再显示新消息。
我认为这是因为替换日志文件的日志轮换作业tail -f正在“观察”。
如何避免这种重启问题?
我可以调用tail这样它注意到旋转过程并做正确的事情吗?
(我在rsyslogd默认使用的 Ubuntu 11.04 系统上注意到了这个问题。)
and*_*coz 198
请改用该-F选项:
tail -F /var/log/kern.log
Run Code Online (Sandbox Code Playgroud)
该-F选项告诉tail通过文件名跟踪文件的更改,而不是使用在轮换期间更改的 inode 编号。如果文件不存在,它也会继续尝试打开文件。