También descubrí que puede usar awk para monitorear el patrón y realizar alguna acción cuando se encuentra el patrón:
tail -fn0 logfile | awk '/pattern/ { print | "command" }'
Esto ejecutará el comando cuando se encuentre un patrón en el registro. El comando puede ser cualquier comando de Unix, incluidos los scripts de shell o cualquier otra cosa.
tail -fn0 logfile | \
while read line ; do
echo "$line" | grep "pattern"
if [ $? = 0 ]
then
... do something ...
fi
done
Un enfoque aún más robusto es monit. Esta herramienta puede monitorear muchas cosas, pero una de ellas es que rastreará fácilmente uno o más registros, los comparará con expresiones regulares y luego activará un script. Esto es particularmente útil si tiene una colección de archivos de registro para ver o más de un evento para desencadenar.