GNU/Linux >> Znalost Linux >  >> Linux

Tail -f, určit, zda se do souboru již nezapisuje?

Zavřeno. Tato otázka je mimo téma. Momentálně nepřijímá odpovědi.

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.


Linux
  1. Jak zjistit, zda je soubor stahován pomocí Wget?

  2. Skript pro zjištění, zda jsou soubory obrázky?

  3. příklady příkazů tail v UNIX/Linux

  1. ocas:příkaz nenalezen

  2. unix - hlava A konec souboru

  3. Chování rsync se souborem, který se stále zapisuje?

  1. Jak zjistit, který proces vytváří soubor?

  2. Čte Tail celý soubor?

  3. Sledovat, jak se něco zapisuje do souboru živě s ocasem