如何在最新的日志文件更改日期时拖尾日志文件并继续拖尾?

Ken*_* Oh 8 logs tail

我正在使用 RHEL 4。

tail -F file_name*.log当时间翻转到 0000 时,法线不会更新。

这是我迄今为止在搜索网络时所尝试的,两者都尝试使用嵌套tail

tail -F $(ls -tr file_name*.log | tail -n 1)

tail -F $(fine . -maxdepth 1 -type f -printf "%T@ %p\n" | sort -n | tail n 1 | cut -d' ' -f 2-)

这些都没有翻转到新文件。tail -F file_name*.log在我的小型测试用例中,旧的工作正常(而上面的 2 个没有),但是当我拖尾一个真实的日志文件时它不起作用。

Gil*_*il' 6

tail监视单个文件,或最多监视启动时确定的一组文件。在命令中tail -F file_name*.log,shell 首先扩展通配符模式,然后tail在当时存在的任何文件上调用。

要根据通配符监视一组文件,您可以使用multitail

multitail -iw 'file_name*.log' 1
Run Code Online (Sandbox Code Playgroud)


tin*_*ink 5

这不会(不能)工作 - 您用来确定最新文件的子外壳只会执行一次。glob 不起作用,因为 shell 只评估通配符一次。

处理它的一种方法是使用“手表”来运行整个过程,但这会每隔几秒就破坏输出。