2014-05-13 32 views
1

我想在Linux機器上運行查詢。我想檢查一個日誌文件,只在最後15分鐘內檢查。假設有對日誌文件的更改和補充。什麼是正確的查詢?grep/touch -mtime檢查最近XX分鐘內的日誌

grep的 '測試條件' /home/somelogpath/file.log -mtime 15

感謝。

+0

似乎不可能,除非每個記錄的記錄都有時間戳或每個記錄是登錄了另一個文件。 –

回答

0

檢查只在最後一小時被修改的文件:

find /path/to/logfiles -mtime -1 -print 

,所以你可以

find /path/to/logfiles -mtime -1 -print | xargs grep "some condition" /dev/null 

(注:我添加一個文件(的/ dev/null的),這樣的grep總是有至少有2個文件,因此將被迫顯示匹配文件的名稱。因爲它是/ dev/null,它不會匹配你grep的任何內容,所以你不會有「/ dev/null「,但它起到了這樣的作用:即使只有1個文件匹配,grep也會將前綴與文件名匹配)

幾分鐘,等,請檢查您:

man find 

(這取決於你的操作系統等),(我不手邊有一個linux的現在)

如果你的意思「只匹配日誌文件中的最後X秒」:使用awk,並在行上有一個條件(它取決於日誌文件格式..如果它使用「啓動以來的秒數」或「時代」,則可以簡單地測試相關領域是> =某些價值。如果它使用「2014-05-15 hh:mm」,你也可以找到方法來做到這一點,但這會很麻煩..)