2014-03-13 87 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?