MAILGRAPH监控工具配置。
此工具生成发送/接收/退回/拒绝/垃圾邮件/病毒邮件的图表 除了垃圾邮件和病毒之外,所有图表都在生成,因为我的日志文件与其他文件不同
在其中一个文档中,他们在regex下面使用了日志格式
logformat:
Jan 8 03:15:26 mailtest amavis[12306]: (12306-14) Blocked SPAM , LOCAL [127.0.0.1] [69.95.139.186] est.it> -> xxx.fr> , quarantine: spam/spam-Gca-eg8QanXu.gz , Message-ID: sleeting> , mail_id: Gca-eg8QanXu , Hits: 22.996 , size: 21007 , Subject: "re:worth every dollar" , Tests: [BAYES_99=3.5,HTML_80_90=0.146,HTML_IMAGE_ONLY_24=0.502,HTML_MESSAGE=0.001,RAZOR2_CF_RANGE_51_100=0.056,RAZOR2_CHECK=1.511,RCVD_IN_BL_SPAMCOP_NET=1.216,RCVD_IN_DSBL=3.805,RCVD_IN_XBL=3.076,URIBL_JP_SURBL=2.462,URIBL_SBL=0.996,URIBL_SC_SURBL=4.263,URIBL_WS_SURBL=1.462] , 3303 ms
正则表达式格式:
if( $text =~ /^\([0-9-]+\)\s+(Passed|Blocked)\s+SPAM\b/)
但这绝不适合我的日志文件。你能不能帮我写正则表达式,帮助我生成垃圾邮件和病毒图。我的日志文件在
下面日志格式:
May 3 20:23:42 mx2 amavisd: May 3 20:23:42 mx2.example.com /usr/sbin/amavisd[25190]: (25190-20) Passed SPAM, [217.11.177.26] [72.0.144.176] -> , quarantine: spam-ehiWxkOBcaOO.gz, mail_id: ehiWxkOBcaOO, Hits: 40.024, size: 853, queued_as: 5EEF64770, 5211 ms -bash: syntax error near unexpected token `('
答案 0 :(得分:1)
你非常接近!请尝试以下方法:
/\(([0-9-]+)\)\s+(Passed|Blocked)\s+SPAM\b/
这省略了^
,因为您不希望匹配从行的开头开始。此外,它使用并转义括号,以捕获数字和短划线。
希望这有帮助!