Portál AbcLinuxu, 20. říjen 2017 14:45

Dotaz: reakcia na nájdenú konštantu v live logu

31.7.2016 20:58 marian34
reakcia na nájdenú konštantu v live logu
Přečteno: 872×
Odpovědět | Admin
Páni,ako by ste čo najjednoduchšie riešili toto zadanie.Teda mám live log,v ktorom ak sa objaví daná konštanta,tak sa vykoná shel script.

Napr.:

tail -f /tmp/live.log | grep "konstanta"

no ako ďalej?

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 2× (AraxoN, Marek)
Jendа avatar 31.7.2016 21:17 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: reakcia na nájdenú konštantu v live logu
Odpovědět | | Sbalit | Link | Blokovat | Admin
| while read line; do něco; done
Když ODS omylem objedná na darkmarketu drogy od dealera se špatným ratingem...
1.8.2016 15:59 marian34
Rozbalit Rozbalit vše Re: reakcia na nájdenú konštantu v live logu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Neviem ako by som si s tým "while read" pomohol.

Napr. toto je riešenie toho primitivného príkladu:

#!/bin/sh

while :
do

echo > /tmp/live.log
sleep 2
echo "test"
y=`grep "konstanta" /tmp/live.log -c`;

if [ "$y" -ge "1" ]; 
  
  then

  script.sh
  
  else
  
  echo "...ok"
  
fi
done

exit 0
No mňa zaujala práve kombinacia "tail -f | grep",kde priebežne čítam a vyhľadávam daný reťazec,no ďalej s tým nehnem.
Řešení 1× (jose17)
1.8.2016 19:00 marian34
Rozbalit Rozbalit vše Re: reakcia na nájdenú konštantu v live logu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Oka Jenda,dík za tip.Asi takto:
#!/bin/sh

tail -f -n 1 /tmp/oscam.log | grep --line-buffered "rejected" | while read line;
do
  niečo
done

exit 0
4.8.2016 10:07 marian34
Rozbalit Rozbalit vše Re: reakcia na nájdenú konštantu v live logu
Páni,sorry že otravujem s takú ptákovinu,ale predsa.Ten script pracuje celkom dobre(ak sa jedná o log rotate-potrebný parameter -F),ale chcelo by to ešte jednu fičúru.Totižto "while read" reaguje na každú nájdenú "konštantu"-čo v mojom prípade nie je až tak na škodu,proste spúšťa script(niečo) dovtedy,kým "konštanta" z logov nezmizne.

Ako by sa ale dalo spraviť to,že "while read" zareaguje len na prvú(alebo n) nájdenú(ých) "konštant".

4.8.2016 10:55 NN
Rozbalit Rozbalit vše Re: reakcia na nájdenú konštantu v live logu

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.