Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Run tail -f for a specific time in bash script

I need a script that will run a series of tail -f commands and output them into a file. What I need is for tail -f to run for a certain amount of time to grep specific words. The reason it's a certain amount of time is because some of these values don't show up right away as this is a live log.

How can I run something like this for let's say 20 seconds, output the grep command and then continue on to the next command?

tail -f /example/logs/auditlog | grep test

Thanks

like image 304
user2348517 Avatar asked Nov 29 '22 13:11

user2348517


2 Answers

timeout 20 tail -f /example/logs/auditlog | grep test
like image 89
Karoly Horvath Avatar answered Dec 04 '22 05:12

Karoly Horvath


tail -f /example/logs/auditlog | grep test &
pid=$!
sleep 20
kill $pid
like image 33
Chris Dodd Avatar answered Dec 04 '22 04:12

Chris Dodd