KB Article #175687

Search for a text string in a very large number of history log files

Problem

The $FILEDRIVEHOME/var/db/hist/log-entry can become very large over time and simply using grep to search in it is not possible.


Resolution

You can use the following command to search for a given string:


find ./ -name "*2018*" -print0 | xargs -0 -n1 -P8 grep -H "Failed login attempt on" >> /tmp/outputlogfile

NOTE: The command above is executed from $FILEDRIVEHOME/var/db/hist/log-entry.


This command will search for Failed login attempt on in all files from the year 2018 and direct the output to /tmp/outputlogfile


To further fine-grain the search you can change the name parameter:


-name "*201801*" -> January 2018

-name "*20180120*" -> the 20th of January 2018

-name "*2018012014*" -> 2 pm on the 20th of January 2018

-name "*201801201450*" -> 2:50 pm on the 20th of January 2018


Additional notes:


To search in compresses files (.gz) substitute grep with zgrep