Ho anche scoperto che puoi usare awk per monitorare il pattern ed eseguire alcune azioni quando viene trovato il pattern:
tail -fn0 logfile | awk '/pattern/ { print | "command" }'
Questo eseguirà il comando quando il modello viene trovato nel registro. Il comando può essere qualsiasi comando unix inclusi gli script di shell o qualsiasi altra cosa.
tail -fn0 logfile | \
while read line ; do
echo "$line" | grep "pattern"
if [ $? = 0 ]
then
... do something ...
fi
done
Un approccio ancora più robusto è monit. Questo strumento può monitorare moltissime cose, ma una di queste è che accoda facilmente uno o più registri, confronta le espressioni regolari e quindi attiva uno script. Ciò è particolarmente utile se hai una raccolta di file di registro da controllare o più di un evento da attivare.