LINUX.ORG.RU

История изменений

Исправление legolegs, (текущая версия) :

Ты можешь обернуть свой сбор статистки в такой скрипт:

let OFFSET=0
while true; do
  NEXTOFFSET=$(tail -c+$((OFFSET+1)) /var/yourlog | grep -m1 -Fb '{метка}')
  NEXTOFFSET=${NEXTOFFSET%%:*}
  let OFFSET+=NEXTOFFSET
  
  tail -c+$((OFFSET+1)) /var/yourlog | твой фильтр

  sleep {период времени};
done

Если лог реально огромный (сотни мегабайт ненужных данных в начале), то прирост может быть значительным. tail -c+номер_байта_с_1 работает за константное время.

Исправление legolegs, :

Ты можешь обернуть свой сбор статистки в такой скрипт:

let OFFSET=0
while true; do
  NEXTOFFSET=$(tail -c+$((OFFSET+1)) /var/yourlog | grep -m1 -Fb '{метка}')
  NEXTOFFSET=${NEXTOFFSET%%:*}
  let OFFSET+=NEXTOFFSET
  
  tail -c+$((OFFSET+1)) /var/yourlog | твой фильтр

  sleep {период времени};
done

Если лог реально огромный (сотни мегабайт ненужных данных в начале), то прирост может быть значительным. tail -c+номер_с_1 работает за константное время.

Исходная версия legolegs, :

Ты можешь обернуть свой сбор статистки в такой скрипт:

let OFFSET=0
while true; do
  NEXTOFFSET=$(tail -c+$((OFFSET+1)) /var/yourlog | grep -m1 -Fb '{метка}')
  NEXTOFFSET=${NEXTOFFSET%%:*}
  let OFFSET+=NEXTOFFSET
  
  tail -c+$((OFFSET+1)) /var/yourlog | твой фильтр

  sleep {период времени};
done

Если лог реально огромный (сотни мегабайт ненужных данных в начале), то прирост может быть значительным. tail -c+ работает за константное время.