Zavřeno. Tato otázka je mimo téma. Momentálně nepřijímá odpovědi.
Vylepšete tuto otázku
Linux
Chcete zlepšit tuto otázku? Aktualizujte otázku, aby byla aktuální pro Unix a Linux Stack Exchange.
Zavřeno před 7 lety.
Vylepšete tuto otázku
Používám tail -f
sledovat růst souboru protokolu. Mám problém najít způsob, jak zjistit, zda proces, který zapisuje do souboru protokolu (když se zhroutí nebo je jinak ukončen), již k souboru nepřistupuje nebo do něj nezapisuje.
Zde je skript, který používám
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
Jaký je nejjednodušší a nejúčinnější způsob, jak zjistit, že se proces zápisu do souboru protokolu zastavil (nebo že tail -f již nepřijímá vstup) a odeslat na obrazovku zprávu s upozorněním na událost?
Přijatá odpověď:
Alespoň pokud používáte Linux, děláte to zpětně. Měli byste použít inotify
reagovat na zapisovaný soubor.
#!/bin/sh
while inotifywait -qe modify filename
do
done
to bude stačit.