GNU/Linux >> Tutoriales Linux >  >> Linux

Tail -f, ¿determinar si ya no se escribe en un archivo?

Cerrado. Esta pregunta está fuera de tema. Actualmente no está aceptando respuestas.

¿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á.


Linux
  1. ¿Cómo determinar qué proceso está creando un archivo?

  2. ¿Cómo saber si Wget está descargando un archivo?

  3. ¿Script para determinar si los archivos son imágenes?

  4. ejemplos de comandos tail en UNIX/Linux

  5. cola:comando no encontrado

Comando de archivo de Linux:cómo determinar el tipo de archivo en Linux

10 comandos de cola rápidos de Linux con ejemplos

Comando de cola de Linux

Comando de cola de Linux con ejemplos

Cómo determinar el tipo MIME de un archivo en Linux

¿Determinar si el archivo está en proceso de escritura?