Python尾巴与grep

时间:2014-03-13 08:20:59

标签: python logging tail logrotate

请帮帮我。我有一个日志文件,例如: test_2014_03_13.log

我需要用grep尾随它,当创建新文件(test_2014_03_14.log)时,我需要使用grep切换尾部到新文件而不跳过行。

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

抱歉我的英语不好。

1 个答案:

答案 0 :(得分: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?