2014-03-13 55 views
0

请帮助我。我有一个日志文件,例如: test_2014_03_13.logPython尾巴grep

我需要尾随它与grep和创建新文件(test_2014_03_14.log)时,我需要切换跟踪与grep新文件没有跳过行。

我需要关于切换而不跳过数据的信息。

对不起,我的英语不好。

+0

什么是你在实现你的项目的问题吗? – halex

+0

我需要关于切换而不跳过数据的信息。 – user2025131

回答

0

据我了解你。我想你想在创建新文件时更改日志文件。

您需要运行两个不同的进程。

  • 第一个在目录中搜索更改以便知道何时创建新文件,然后进行更改。
  • 第二个进程将负责执行“Tail + Grep”,当它用Kill指令关闭时,它应该继续使用最新的文件。

这是Bash中的一个示例,您可以使用Python轻松编写该示例。 我读得太晚了,你在Python中要求一个例子。

#!/bin/bash 

pidTail=0 

inotifywait -m /var/log/yourfiles -e created | 
while read path action file; do 
    echo “changed to $file” 
    if [ ! $pidTail -eq 0 ]; then 
     kill $pidTail 
    fi 
    tail -f $file | grep something >> newfile.log & 
    pidTail=$! 
done 

注:我在这里写它,我没有测试它,它可能包含错别字;)

比从来没有更好的晚了!

来源:

Threads in bash?

Script to monitor folder for new files?