GNU/Linux >> Tutoriales Linux >  >> Linux

¿Shellscript para monitorear un archivo de registro si la palabra clave se activa y luego ejecuta un comando?

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.


Linux
  1. ¿Cómo registrar cada comando escrito en Bash y cada operación de archivo?

  2. ¿Ejecutar un comando donde se encuentra un archivo?

  3. Cómo rastrear -f el último archivo de registro con un patrón dado

  4. ¿Ejecutar un comando específico en un directorio determinado sin usar un CD?

  5. Comando de shell para monitorear cambios en un archivo

Comando de archivo de Linux

Menos comando en Linux

Comando de fuente Bash

Comando Gzip en Linux

Comando Gunzip en Linux

HowTo:El último tutorial del comando Logrotate con 10 ejemplos