我正在使用 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 个没有),但是当我拖尾一个真实的日志文件时它不起作用。
tail
监视单个文件,或最多监视启动时确定的一组文件。在命令中tail -F file_name*.log
,shell 首先扩展通配符模式,然后tail
在当时存在的任何文件上调用。
要根据通配符监视一组文件,您可以使用multitail。
multitail -iw 'file_name*.log' 1
Run Code Online (Sandbox Code Playgroud)
这不会(不能)工作 - 您用来确定最新文件的子外壳只会执行一次。glob 不起作用,因为 shell 只评估通配符一次。
处理它的一种方法是使用“手表”来运行整个过程,但这会每隔几秒就破坏输出。