linux - 如何让 tail 在跟踪文件之前等待创建文件

标签 linux shell unix tail

我一直在努力寻找一种方法让 tail 等待文件创建,然后开始跟踪它们。

例如,假设我有一个尚未创建的 logs 目录,但我的应用程序会创建它。假设我有另一个进程,我想在其中运行 tail -F logs/*.log 并让它在所有文件创建后立即开始跟踪所有文件。我该怎么做?

还有一件事:如果 tail 正在跟踪某个已删除的文件,如果它被重新创建,是否有可能让它再次开始跟踪它?

最佳答案

有一些粗糙度,这是可行的:

while inotifywait -q .; do kill $PID; tail -F -n 0 * & PID=$!; done

一旦目录中的任何内容发生更改,tail 命令就会重新启动。

关于linux - 如何让 tail 在跟踪文件之前等待创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17232396/

相关文章:

linux - 使用 shell 脚本替换文件中的标记

bash - grep 使用 grep 结果

bash - 我可以在树中的所有文本文件(但不是二进制文件)中搜索某个字符串吗

linux - 如何在linux中检查 'if-then-else-fi'中的多个字符串?

bash - 在不排序的情况下删除变量上的重复项

c++ - 在 C++ 中使用 rpcgen

linux - 我们如何存储明文以外的密码?

python - 在Linux中安装SetupTools时出错

linux - 在 debian 上每隔一段时间运行命令

bash - 我如何比较 Bash 中的数字?