str="error";threshold=3;count=0;tail -n 0 -F /var/log/messages | while read i;do echo $i | grep -q $str && count=`expr $count + 1` && test $count -ge $threshold && echo 'Detect!' && break; done
→ちょっと改善 2015-03-20 ※簡略化&条件達成時に即プロンプトが戻るように
str="error";threshold=3;c=0;while read i;do [[ $i =~ $str ]] && ((c++)) && [[ $c -ge $threshold ]] && echo 'Detect!' && break; done< <(tail -n 0 -F /var/log/messages)これを実行しつつ、別のところで
logger "test error" logger "test error" logger "test error"と3回出力すると、"Detect!"と表示されましたヾ(*・∀・)ノ"
0 件のコメント:
コメントを投稿