如何在拖尾之前让尾部等待创建文件

时间:2013-06-21 09:56:17

标签: linux shell unix tail

我一直试图找到一种方法让tail等待创建文件,然后开始拖尾。

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

还有一件事:如果tail正在删除一些被删除的文件,是否可以让它再次开始拖尾,如果它被重新创建?

2 个答案:

答案 0 :(得分:2)

有些粗糙,这有效:

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

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

答案 1 :(得分:0)

  

还有一件事:如果tail拖尾一些被删除的文件,是否有可能让它再次开始拖尾,如果它被重新创建?

当你tail某个被截断并重新创建的文件时; tail命令自动处理它。您无需为该特定文件重新发出tail命令。