Mysql日志有如下内容:
1649560 Query select * from actions where uniqueid like 'ernie-1328697839.1233158-%-dequeue' and class='queue' and server='ernie' and time<='1328698322' and action='dequeue' limit 1
1649560 Query select * from actions where uniqueid like 'ernie-1328697839.1233158-%-dequeue' and class='queue' and server='ernie' and time<='1328698322' and action='dequeue' limit 1
1649560 Query select * from actions where uniqueid like 'ernie-1328697839.1233158-%-dequeue' and class='queue' and server='ernie' and time<='1328698322' and action='dequeue' limit 1
1649560 Query select * from actions where uniqueid like 'ernie-1328697839.1233158-%-dequeue' and class='queue' and server='ernie' and time<='1328698322' and action='dequeue' limit 1
1649560 Query select * from actions where uniqueid like 'ernie-1328697839.1233158-%-dequeue' and class='queue' and server='ernie' and time<='1328698322' and action='dequeue' limit 1
1649560 Query select * from actions where uniqueid like 'ernie-1328697839.1233158-%-dequeue' and class='queue' and server='ernie' and time<='1328698322' and action='dequeue' limit 1
1649560 Query select * from actions where uniqueid like 'ernie-1328697839.1233158-%-dequeue' and class='queue' and server='ernie' and time<='1328698322' and action='dequeue' limit 1
1649560 Query select * from actions where uniqueid like 'ernie-1328697839.1233158-%-dequeue' and class='queue' and server='ernie' and time<='1328698322' and action='dequeue' limit 1我想要一个bash脚本,它将执行如下操作:
脚本将实时扫描tail -F mysql.log)
echo "yes")
,它遇到5行连续相同的行),然后调用一些命令(比如echo "yes"))
发布于 2012-02-09 10:36:54
awk '$0 != l { l=$0; c=0 }
l=$0 {c++; if (c>=5) {system("YOURCOMMAND HERE")}}' LOGFILE能为你做这件事。但你所说的实时是什么意思?如果必须不断地运行,请为其设置一些fifo机制,或者类似的机制。或者简单地做:
tail -F LOGFILE | <THEABOVE_AWK_SCRIPT>https://stackoverflow.com/questions/9207311
复制相似问题