¿Quieres mejorar esta pregunta? Actualice la pregunta para que esté relacionada con el tema de Unix y Linux Stack Exchange.
Cerrado hace 7 años.
Mejorar esta pregunta
Estoy usando tail -f
para seguir el crecimiento de un archivo de registro. Tengo problemas para encontrar una manera de detectar si el proceso que está escribiendo en el archivo de registro (cuando falla o se termina de otra manera) ya no accede o escribe en el archivo.
Aquí está el script que estoy 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
¿Cuál es la forma más fácil y eficiente de detectar que el proceso de escritura en el archivo de registro se detuvo (o que tail -f ya no recibe información) y enviar un mensaje a la pantalla para alertarme del evento?
Respuesta aceptada:
Al menos si está ejecutando Linux, lo está haciendo al revés. Deberías usar inotify
para reaccionar al archivo que se está escribiendo.
#!/bin/sh
while inotifywait -qe modify filename
do
done
eso servirá.