Vuoi migliorare questa domanda? Aggiorna la domanda in modo che sia in argomento per Unix e Linux Stack Exchange.
Chiuso 7 anni fa.
Migliora questa domanda
Sto usando tail -f
per seguire la crescita di un file di registro. Non riesco a trovare un modo per rilevare se il processo che sta scrivendo nel file di registro (quando si arresta in modo anomalo o viene terminato in altro modo) non accede o scrive più al file.
Ecco lo script che sto usando
tail -f log_file | while read LOGLINE
do
echo -e "${LOGLINE}"
if [[ "${LOGLINE}" == *ERROR* ]] ; then
echo -e "ERROR FOUND : ${LOGLINE}n"
# handle the error here
fi
done
Qual è il modo più semplice ed efficiente per rilevare che il processo di scrittura nel file di registro si è interrotto (o che tail -f non riceve più input) e visualizzare un messaggio sullo schermo che mi avvisa dell'evento?
Risposta accettata:
Almeno se stai utilizzando Linux, lo stai facendo al contrario. Dovresti usare inotify
per reagire alla scrittura del file.
#!/bin/sh
while inotifywait -qe modify filename
do
done
questo andrà bene.