Vous voulez améliorer cette question ? Mettez à jour la question afin qu'elle soit sur le sujet pour Unix et Linux Stack Exchange.
Fermé il y a 7 ans.
Améliorer cette question
J'utilise tail -f
pour suivre la croissance d'un fichier journal. J'ai du mal à trouver un moyen de détecter si le processus qui écrit dans le fichier journal (lorsqu'il se bloque ou se termine d'une autre manière) n'accède plus ou n'écrit plus dans le fichier.
Voici le script que j'utilise
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
Quel est le moyen le plus simple et le plus efficace de détecter que le processus d'écriture dans le fichier journal s'est arrêté (ou que tail -f ne reçoit plus d'entrée) et de renvoyer un message à l'écran pour m'avertir de l'événement ?
Réponse acceptée :
Au moins si vous utilisez Linux, vous faites cela à l'envers. Vous devez utiliser inotify
pour réagir au fichier en cours d'écriture.
#!/bin/sh
while inotifywait -qe modify filename
do
done
ça ira.