首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正则表达式问题

正则表达式问题
EN

Stack Overflow用户
提问于 2014-11-20 15:12:43
回答 1查看 60关注 0票数 0

我写了一个脚本,它只在半小时内轮询一个日志文件条目,如果发现错误,就发送一封电子邮件。我已经安排这个脚本每半小时在crontab中运行。

下面是剧本。但是这个脚本不像我想要的.For前任那样工作。如果它在上午11:30运行,则应扫描日志,时间为上午11:00至11:30之间。相反,它正在扫描文件中的"00:00“或"30:00”。我想,我在应用正则表达式时犯了一些错误,有人能帮忙吗?

代码语言:javascript
复制
blogs=/opt/docs/datapower/prod/business.log
slogs=/opt/docs/datapower/prod/system.log


starttime=$(date +'%H')
currmin=$(date +'%M')
curdate=`date|cut -d' ' -f5`
echo $(date)

if [ $currmin -le 29 ] && [ $starttime -ne 00 ] ; then
starttime1=`echo "$(date +'%H') - 1" | bc`
logtime="$starttime1"
logtime="$logtime:[3-5][0-9]"
echo $logtime



elif [ $currmin -le 29 ] && [ $starttime -eq 00 ] ; then
logtime="23:[3-5][0-9]"
echo $logtime



else
logtime="$starttime"
logtime="$logtime:[0-2][0-9]"
echo $logtime

fi

if ( grep "$logtime" $slogs | egrep "AAA Authentication Failure|AAA Authorization Failure") > dptest 2>&1;then

       Do something

fi 

下面是示例日志条目

代码语言:javascript
复制
Nov 20 06:06:58 business-log-sta [DP-Domain-STAGING][0x80000001][business-log][info] mpgw(GenServiceMPG): trans(31513092)[request]: AAA Authentication failure/>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-20 15:52:40

您的代码在我的系统上工作,我遇到的唯一问题是"AAA身份验证失败“是在代码中用大写字母'F‘写的,而在日志文件中则是小写'f’。

您也可以通过更改代码行来减少代码

代码语言:javascript
复制
logtime="$starttime1"
logtime="$logtime:[3-5][0-9]"

logtime="$starttime1:[3-5][0-9]"

编辑:如果您需要,我可以提供在我的系统上工作的脚本的示例输出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27042960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档