最近想做一个监控,定时的几分钟或者几小时去某台机器拉取对应目录的日志,根据关键字统计出现次数,超出阈值则发送钉钉消息到群里。
本来很简单的一个需求,但是这个按照时间段去匹配日志有点烦。网上一查都说用sed,awk,试了下,sed方式必须两个时间点都出现在日志中,但是我这定时生成的时间格式,可能在日志中没有。awk的时间匹配就太慢了。。。还是想通过grep去实现,想了下可以通过时间正则匹配。写一个工具返回大于从某个时间点到当前时间的正则表达式列表。
先看看结果
看起来还行,不知道有没有BUG,暂时我没发现。拿着这个列表,用grep -e来匹配时间
实现
按照时间格式格式化正则表达式
大于具体时间点的逻辑
代码可以在Github上找到,
本文来自chentiefeng的博客
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。