GNU/Linux >> Linux Esercitazione >  >> Linux

Shellscript per monitorare un file di registro se i trigger di parole chiave eseguono quindi un comando?

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.


Linux
  1. Come posso verificare che un file esista ed eseguire un comando in caso contrario?

  2. Come eseguire il tail -f dell'ultimo file di registro con un dato modello

  3. Esegui il comando per ogni file nella directory corrente

  4. Come modificare le autorizzazioni per determinati pattern/estensione di file?

  5. Come stampare l'output del comando Linux su un file?

Comando file Linux

Meno comandi in Linux

Comando sorgente Bash

Comando Gzip in Linux

Comando Gunzip in Linux

HowTo:l'esercitazione definitiva sui comandi Logrotate con 10 esempi