为什么 tail -f 停止跟踪 /var/log/syslog?

tha*_*ott 1 command-line tail syslog

乌班图22.04。

我按照/var/log/syslog命令执行tail -f。这是通过 ssh 连接。它将跟踪系统日志的输出几天,然后停止更新。它就坐在那里。如果我Ctrl+C终止 tail 命令并重新发出它,它会获取最新结果,这些结果晚于tail -f. IOW,它停止跟随。如何让它继续跟踪 syslog,而不必终止命令并重新发出它?谢谢你!

Raf*_*ffa 5

我会用:

journalctl --follow
Run Code Online (Sandbox Code Playgroud)

相反...但是,对于tail,您可能需要-F而不是-f像这样:

tail -F /var/log/syslog
Run Code Online (Sandbox Code Playgroud)

-F如果文件不可访问,将重试...

man tail

-F     same as --follow=name --retry
Run Code Online (Sandbox Code Playgroud)

... 和:

--retry
       keep trying to open a file if it is inaccessible
Run Code Online (Sandbox Code Playgroud)

  • 呃,当然,是 logrotate 破坏了我的简单 -f 。感谢您提供更好的方法,并且通过使用“journalctl --follow”,我看到大量尝试通过 ssh 以 root 身份登录的暴力尝试,因此我正在采取行动。 (2认同)