需要每隔15分钟使用“关键字”grep一个正在运行的日志,但是应该每隔15分钟检查一次新行。它适用于太阳能,因此手表不起作用。
例如 - 在第一次运行中,它应该使用关键字grep前200行。 对于下一次运行,它应该从201到400行等等。
答案 0 :(得分:0)
如果你不想gre-tail -f的输出,你必须记住你最后一次上where的位置。
当您可以控制日志文件时,您有一些可能性:
只有时间戳是一个很好的解决方案,其他的都是丑陋的。那么你还能做些什么呢? 像
这样的东西LINECOUNTFILE=/var/tmp/mycount
LOGFILE=/var/xxxx.log
if [ -f ${LINECOUNTFILE} ]; then
lastlinecount=$(cat ${LINECOUNTFILE})
else
lastlinecount=0
fi
if [ -f ${LOGFILE} ]; then
newlinecount=$(cat ${LOGFILE} | wc -l)
# Select a solution as described at
# http://unix.stackexchange.com/questions/47407/cat-line-x-to-line-y-on-a-huge-file
echo TODO grep from the file between $lastlinecount and $newlinecount
else
newlinecount=0
fi
echo ${newlinecount} > ${LINECOUNTFILE}