在linux中,尾巴命令不能尾随在目录下新建的文件。

问题描述 投票:0回答:1

我试图使用下面的命令来跟踪一个目录下的所有日志文件和它的子目录。

shopt -s globstar
tail -f -n +2 /app/mylogs/**/* | awk '/^==> / {a=substr($0, 5, length-8); next} {print a":"$0}'

而输出结果如下。

/app/mylogs/myapplog10062020.log:Hi this is first line
/app/mylogs/myapplog10062020.log:Hi this is second line

这是很好的,但问题是,当我添加一个新的日志文件下的 /app/mylogs/awk ' tail 命令。tail 有什么办法可以做到这一点吗?

linux bash shell sh tail
1个回答
2
投票

当你启动你的 tail 进程,你向它传递了一个(固定的)文件列表,尾巴被认为是要跟随的,正如你可以从 尾巴 man页面。这与'find'不同,在后者,你可以在其选项中传递一个文件名模式。进程启动后,在它的选项中可以传递一个文件名模式。tail 没有办法知道你突然想让它也跟着另一个文件。

如果你想拥有这样的功能,你必须为你自己版本的 tail的服务,例如通过一个要扫描的目录,并定期检查目录内容的变化,或者使用服务,如 通知 以便通过目录变化来通知。

© www.soinside.com 2019 - 2024. All rights reserved.