我一直试图找到一种方法让tail
等待创建文件,然后开始拖尾。
例如,假设我有一个尚未创建的logs
目录,但我的应用程序将创建它。假设我有另一个进程,我希望运行tail -F logs/*.log
并让它在创建后立即开始拖尾所有文件。我该怎么做呢?
还有一件事:如果tail
正在删除一些被删除的文件,是否可以让它再次开始拖尾,如果它被重新创建?
答案 0 :(得分:2)
有些粗糙,这有效:
while inotifywait -q .; do kill $PID; tail -F -n 0 * & PID=$!; done
一旦目录中的任何内容发生变化,tail
命令就会重新启动。
答案 1 :(得分:0)
还有一件事:如果tail拖尾一些被删除的文件,是否有可能让它再次开始拖尾,如果它被重新创建?
当你tail
某个被截断并重新创建的文件时; tail
命令自动处理它。您无需为该特定文件重新发出tail
命令。